svn commit: r216813 - head/sys/compat/linux
Alexander Best
arundel at freebsd.org
Sun Jan 2 00:04:02 UTC 2011
On Thu Dec 30 10, Sean Farley wrote:
> Author: scf
> Date: Thu Dec 30 02:18:04 2010
> New Revision: 216813
> URL: http://svn.freebsd.org/changeset/base/216813
>
> Log:
> Fix the LINUX_SOUND_MIXER_INFO ioctl to return success after the
> information is set to FreeBSD. It had been falling through to the end
> of linux_ioctl_sound() and returning ENOIOCTL. Noticed when running the
> Linux ALSA amixer tool.
>
> Add a LINUX_SOUND_MIXER_READ_CAPS ioctl which is used by the Skype
> v2.1.0.81 binary.
i'm running r216877 and still skype won't detect my audio devices (i.e. it
reports "Problem With Audio Playback").
this is with the static skype binary package.
cheers.
alex
>
> Reviewed by: gavin
> MFC after: 2 weeks
>
> Modified:
> head/sys/compat/linux/linux_ioctl.c
> head/sys/compat/linux/linux_ioctl.h
>
> Modified: head/sys/compat/linux/linux_ioctl.c
> ==============================================================================
> --- head/sys/compat/linux/linux_ioctl.c Thu Dec 30 01:28:56 2010 (r216812)
> +++ head/sys/compat/linux/linux_ioctl.c Thu Dec 30 02:18:04 2010 (r216813)
> @@ -1749,7 +1749,7 @@ linux_ioctl_sound(struct thread *td, str
> strncpy(info.id, "OSS", sizeof(info.id) - 1);
> strncpy(info.name, "FreeBSD OSS Mixer", sizeof(info.name) - 1);
> copyout(&info, (void *)args->arg, sizeof(info));
> - break;
> + return (0);
> }
> case 0x0030: { /* SOUND_OLD_MIXER_INFO */
> struct linux_old_mixer_info info;
> @@ -1757,7 +1757,7 @@ linux_ioctl_sound(struct thread *td, str
> strncpy(info.id, "OSS", sizeof(info.id) - 1);
> strncpy(info.name, "FreeBSD OSS Mixer", sizeof(info.name) - 1);
> copyout(&info, (void *)args->arg, sizeof(info));
> - break;
> + return (0);
> }
> default:
> return (ENOIOCTL);
> @@ -1774,6 +1774,10 @@ linux_ioctl_sound(struct thread *td, str
> args->cmd = SOUND_MIXER_READ_STEREODEVS;
> return (ioctl(td, (struct ioctl_args *)args));
>
> + case LINUX_SOUND_MIXER_READ_CAPS:
> + args->cmd = SOUND_MIXER_READ_CAPS;
> + return (ioctl(td, (struct ioctl_args *)args));
> +
> case LINUX_SOUND_MIXER_READ_RECMASK:
> args->cmd = SOUND_MIXER_READ_RECMASK;
> return (ioctl(td, (struct ioctl_args *)args));
>
> Modified: head/sys/compat/linux/linux_ioctl.h
> ==============================================================================
> --- head/sys/compat/linux/linux_ioctl.h Thu Dec 30 01:28:56 2010 (r216812)
> +++ head/sys/compat/linux/linux_ioctl.h Thu Dec 30 02:18:04 2010 (r216813)
> @@ -267,6 +267,7 @@
> #define LINUX_SOUND_MIXER_INFO 0x4d65
> #define LINUX_OSS_GETVERSION 0x4d76
> #define LINUX_SOUND_MIXER_READ_STEREODEVS 0x4dfb
> +#define LINUX_SOUND_MIXER_READ_CAPS 0x4dfc
> #define LINUX_SOUND_MIXER_READ_RECMASK 0x4dfd
> #define LINUX_SOUND_MIXER_READ_DEVMASK 0x4dfe
> #define LINUX_SOUND_MIXER_WRITE_RECSRC 0x4dff
--
a13x
More information about the svn-src-head
mailing list