diff options
author | Arvind Sankar <nivedita@alum.mit.edu> | 2020-02-11 11:22:35 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-19 19:52:56 +0100 |
commit | 25487999ca3a84a70f642ce0c37acf5453aa0af1 (patch) | |
tree | b25aea54c34f3c83da88c3deeff23e3ffa18190b /sound/usb | |
parent | 2b7e7004970ae778de0e1e2d6b489e97de4e4c93 (diff) | |
download | linux-stable-25487999ca3a84a70f642ce0c37acf5453aa0af1.tar.gz linux-stable-25487999ca3a84a70f642ce0c37acf5453aa0af1.tar.bz2 linux-stable-25487999ca3a84a70f642ce0c37acf5453aa0af1.zip |
ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
commit 93f9d1a4ac5930654c17412e3911b46ece73755a upstream.
The Audioengine D1 (0x2912:0x30c8) does support reading the sample rate,
but it returns the rate in byte-reversed order.
When setting sampling rate, the driver produces these warning messages:
[168840.944226] usb 3-2.2: current rate 4500480 is different from the runtime rate 44100
[168854.930414] usb 3-2.2: current rate 8436480 is different from the runtime rate 48000
[168905.185825] usb 3-2.1.2: current rate 30465 is different from the runtime rate 96000
As can be seen from the hexadecimal conversion, the current rate read
back is byte-reversed from the rate that was set.
44100 == 0x00ac44, 4500480 == 0x44ac00
48000 == 0x00bb80, 8436480 == 0x80bb00
96000 == 0x017700, 30465 == 0x007701
Rather than implementing a new quirk to reverse the order, just skip
checking the rate to avoid spamming the log.
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200211162235.1639889-1-nivedita@alum.mit.edu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/quirks.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c index 82184036437b..1ed25b1d2a6a 100644 --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c @@ -1402,6 +1402,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip) case USB_ID(0x1395, 0x740a): /* Sennheiser DECT */ case USB_ID(0x1901, 0x0191): /* GE B850V3 CP2114 audio interface */ case USB_ID(0x21B4, 0x0081): /* AudioQuest DragonFly */ + case USB_ID(0x2912, 0x30c8): /* Audioengine D1 */ return true; } |