diff options
author | Macpaul Lin <macpaul.lin@mediatek.com> | 2020-06-23 14:03:23 +0300 |
---|---|---|
committer | Sasha Levin <sashal@kernel.org> | 2020-07-01 06:17:08 +0300 |
commit | 75208a11683a3d29b3bb93166cdac67d8cf2324b (patch) | |
tree | a1af1e73bab2d66d3062e5ff8dfa1552cd1cd8b6 /sound | |
parent | 0237a33e8b6eb7236b316794ca2fd1890b7cebe4 (diff) | |
download | linux-75208a11683a3d29b3bb93166cdac67d8cf2324b.tar.xz |
ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG)
commit a32a1fc99807244d920d274adc46ba04b538cc8a upstream.
We've found Samsung USBC Headset (AKG) (VID: 0x04e8, PID: 0xa051)
need a tiny delay after each class compliant request.
Otherwise the device might not be able to be recognized each times.
Signed-off-by: Chihhao Chen <chihhao.chen@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/1592910203-24035-1-git-send-email-macpaul.lin@mediatek.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/usb/quirks.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 976eee06907c..8b5bc809efd3 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1345,6 +1345,14 @@ void snd_usb_ctl_msg_quirk(struct usb_device *dev, unsigned int pipe, chip->usb_id == USB_ID(0x0951, 0x16ad)) && (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) usleep_range(1000, 2000); + + /* + * Samsung USBC Headset (AKG) need a tiny delay after each + * class compliant request. (Model number: AAM625R or AAM627R) + */ + if (chip->usb_id == USB_ID(0x04e8, 0xa051) && + (requesttype & USB_TYPE_MASK) == USB_TYPE_CLASS) + usleep_range(5000, 6000); } /* |