Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Apr 2004 22:56:52 +0100 (BST)
From:      Matt Wright <mattw@ury.york.ac.uk>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/65971: LINUX_SOUND_MIXER_INFO Ioctl addition for Helix Producer under Linux compat
Message-ID:  <200404252156.i3PLuqdW019148@uryfs1.york.ac.uk>
Resent-Message-ID: <200404252200.i3PM0heC001206@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         65971
>Category:       kern
>Synopsis:       LINUX_SOUND_MIXER_INFO Ioctl addition for Helix Producer under Linux compat
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Apr 25 15:00:43 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Matt Wright
>Release:        FreeBSD 5.2.1-RELEASE i386
>Organization:
University Radio York 
>Environment:
System: FreeBSD uryfs1.york.ac.uk 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #1: Mon Apr 19 17:29:24 BST 2004 root@uryfs1.york.ac.uk:/music/obj/music/src/sys/URYFS1KERNEL i386


	
>Description:
Using Helix Producer (Linux 2.2 glibc) under 5.2-RELEASE+ causes ioctl not implemented message ('M', 101). Attached patch adds Ioctl to Linux compat module to pass through to FreeBSD sound ioctls.
"Fri 23 01:15:19 uryfs1 /kernel: linux: 'ioctl' fd=4, cmd=0x4d65 ('M',101) not implemented"
	
>How-To-Repeat:
Download helixproducer 10 from www.helixcommunity.org, attempt to stream to helix server reading audio from /dev/audio.
	
>Fix:

	

--- streamer.patch begins here ---
diff -Naur sys/compat/linux/linux_ioctl.c sys-fixed/compat/linux/linux_ioctl.c
--- sys/compat/linux/linux_ioctl.c	Fri Oct 31 18:31:55 2003
+++ sys-fixed/compat/linux/linux_ioctl.c	Sun Apr 25 03:31:25 2004
@@ -1581,6 +1581,10 @@
 		args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE3);
 		return (ioctl(td, (struct ioctl_args *)args));
 
+	case LINUX_SOUND_MIXER_INFO:
+		args->cmd = SETDIR(SOUND_MIXER_INFO);
+		return (ioctl(td, (struct ioctl_args *)args));
+
 	case LINUX_OSS_GETVERSION: {
 		int version = linux_get_oss_version(td);
 		return (copyout(&version, (void *)args->arg, sizeof(int)));
diff -Naur sys/compat/linux/linux_ioctl.h sys-fixed/compat/linux/linux_ioctl.h
--- sys/compat/linux/linux_ioctl.h	Thu Apr 24 23:36:35 2003
+++ sys-fixed/compat/linux/linux_ioctl.h	Sun Apr 25 03:31:51 2004
@@ -217,6 +217,7 @@
 #define	LINUX_SOUND_MIXER_WRITE_LINE1	0x4d0E
 #define	LINUX_SOUND_MIXER_WRITE_LINE2	0x4d0F
 #define	LINUX_SOUND_MIXER_WRITE_LINE3	0x4d10
+#define	LINUX_SOUND_MIXER_INFO		0x4d65
 #define	LINUX_OSS_GETVERSION		0x4d76
 #define	LINUX_SOUND_MIXER_READ_STEREODEVS	0x4dfb
 #define	LINUX_SOUND_MIXER_READ_DEVMASK	0x4dfe
--- streamer.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404252156.i3PLuqdW019148>