ACK: [PATCH T/U SRU] ALSA: usb-audio: Skip volume controls triggers hangup on Dell USB Dock

Christopher Arges chris.j.arges at canonical.com
Wed May 4 14:57:36 UTC 2016


Backport seems reasonable due to id already being present.
--chris

On Wed, May 04, 2016 at 07:09:25AM -0600, Tim Gardner wrote:
> From: Kailang Yang <kailang at realtek.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1577905
> 
> This is Dell usb dock audio workaround.
> It was fixed the master volume keep lower.
> 
> [Some background: the patch essentially skips the controls of a couple
>  of FU volumes.  Although the firmware exposes the dB and the value
>  information via the usb descriptor, changing the values (we set the
>  min volume as default) screws up the device.  Although this has been
>  fixed in the newer firmware, the devices are shipped with the old
>  firmware, thus we need the workaround in the driver side.  -- tiwai]
> 
> Signed-off-by: Kailang Yang <kailang at realtek.com>
> Cc: <stable at vger.kernel.org>
> Signed-off-by: Takashi Iwai <tiwai at suse.de>
> (back ported from commit adcdd0d5a1cb779f6d455ae70882c19c527627a8)
> Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
> 
> Conflicts:
> 	sound/usb/mixer_maps.c
> ---
>  sound/usb/mixer_maps.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/sound/usb/mixer_maps.c b/sound/usb/mixer_maps.c
> index a254993..bdb0957 100644
> --- a/sound/usb/mixer_maps.c
> +++ b/sound/usb/mixer_maps.c
> @@ -338,6 +338,16 @@ static struct usbmix_name_map bose_companion5_map[] = {
>  };
>  
>  /*
> + * Dell usb dock with ALC4020 codec had a firmware problem where it got
> + * screwed up when zero volume is passed; just skip it as a workaround
> + */
> +static const struct usbmix_name_map dell_alc4020_map[] = {
> +	{ 16, NULL },
> +	{ 19, NULL },
> +	{ 0 }
> +};
> +
> +/*
>   * Control map entries
>   */
>  
> @@ -416,6 +426,10 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = {
>  		.map = aureon_51_2_map,
>  	},
>  	{
> +		.id = USB_ID(0x0bda, 0x4014),
> +		.map = dell_alc4020_map,
> +	},
> +	{
>  		.id = USB_ID(0x13e5, 0x0001),
>  		.map = scratch_live_map,
>  		.ignore_ctl_error = 1,
> -- 
> 1.9.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team




More information about the kernel-team mailing list