Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Jan 2011 00:04:02 +0000
From:      Alexander Best <arundel@freebsd.org>
To:        Sean Farley <scf@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r216813 - head/sys/compat/linux
Message-ID:  <20110102000402.GA65041@freebsd.org>
In-Reply-To: <201012300218.oBU2I4BF020068@svn.freebsd.org>
References:  <201012300218.oBU2I4BF020068@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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