Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab422df9 authored by Ajay Agarwal's avatar Ajay Agarwal Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarAjay Agarwal <ajaya@codeaurora.org>
parent 2e1cd8de
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -926,6 +926,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;

	}
}