ALSA: usb-audio: Extend DragonFly dB scale quirk to cover other variants
authorAnssi Hannula <anssi.hannula@iki.fi>
Fri, 23 Sep 2016 03:43:47 +0000 (06:43 +0300)
committerTakashi Iwai <tiwai@suse.de>
Fri, 23 Sep 2016 06:32:18 +0000 (08:32 +0200)
commiteb1a74b7bea17eea31915c4f76385cefe69d9795
tree0fa235c5e35c02b8ab34e8dc6ef631764aa8a15b
parentdb68577966abc1aeae4ec597b3dcfa0d56e92041
ALSA: usb-audio: Extend DragonFly dB scale quirk to cover other variants

The DragonFly quirk added in 42e3121d90f4 ("ALSA: usb-audio: Add a more
accurate volume quirk for AudioQuest DragonFly") applies a custom dB map
on the volume control when its range is reported as 0..50 (0 .. 0.2dB).

However, there exists at least one other variant (hw v1.0c, as opposed
to the tested v1.2) which reports a different non-sensical volume range
(0..53) and the custom map is therefore not applied for that device.

This results in all of the volume change appearing close to 100% on
mixer UIs that utilize the dB TLV information.

Add a fallback case where no dB TLV is reported at all if the control
range is not 0..50 but still 0..N where N <= 1000 (3.9 dB). Also
restrict the quirk to only apply to the volume control as there is also
a mute control which would match the check otherwise.

Fixes: 42e3121d90f4 ("ALSA: usb-audio: Add a more accurate volume quirk for AudioQuest DragonFly")
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Reported-by: David W <regulars@d-dub.org.uk>
Tested-by: David W <regulars@d-dub.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer_quirks.c