sound: usb: Add quirk to issue SET_CUR volume on 2nd channel
Some audio devices with two channels require the host to issue SET_CUR command on the Volume control on both the channels in order to function (playback or record). Currently, the Linux Host driver issues SET_CUR only for the 1st channel. Hence, add the quirk for concerned devices for SET_CUR on 2nd channel. Change-Id: I6f0bbcdfd3a8b3ccb33a1d56c252c701849a442f Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
This commit is contained in:
parent
560a996da5
commit
04282fcc79
1 changed files with 11 additions and 0 deletions
|
@ -1012,6 +1012,17 @@ static void volume_control_quirks(struct usb_mixer_elem_info *cval,
|
|||
cval->res = 384;
|
||||
}
|
||||
break;
|
||||
|
||||
case USB_ID(0x1130, 0x1620): /* Logitech Speakers S150 */
|
||||
/* This audio device has 2 channels and it explicitly requires the
|
||||
* host to send SET_CUR command on the volume control of both the
|
||||
* channels. 7936 = 0x1F00 is the default value.
|
||||
*/
|
||||
if (cval->channels == 2)
|
||||
snd_usb_mixer_set_ctl_value(cval, UAC_SET_CUR,
|
||||
(cval->control << 8) | 2, 7936);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue