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. Reviewed by: gavin MFC after: 2 weeks
This commit is contained in:
parent
d34b4913e6
commit
3e36dcd710
@ -1749,7 +1749,7 @@ linux_ioctl_sound(struct thread *td, struct linux_ioctl_args *args)
|
||||
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, struct linux_ioctl_args *args)
|
||||
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, struct linux_ioctl_args *args)
|
||||
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));
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user