Skip to content

Commit 124bdc6

Browse files
Sergey Shtylyovtiwai
authored andcommitted
ALSA: usb-audio: fix broken logic in snd_audigy2nx_led_update()
When the support for the Sound Blaster X-Fi Surround 5.1 Pro was added, the existing logic for the X-Fi Surround 5.1 in snd_audigy2nx_led_put() was broken due to missing *else* before the added *if*: snd_usb_ctl_msg() became incorrectly called twice and an error from first snd_usb_ctl_msg() call ignored. As the added snd_usb_ctl_msg() call was totally identical to the existing one for the "plain" X-Fi Surround 5.1, just merge those two *if* statements while fixing the broken logic... Found by Linux Verification Center (linuxtesting.org) with the Svace static analysis tool. Fixes: 7cdd8d7 ("ALSA: usb-audio - Add support for USB X-Fi S51 Pro") Signed-off-by: Sergey Shtylyov <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Takashi Iwai <[email protected]>
1 parent 826af7f commit 124bdc6

1 file changed

Lines changed: 2 additions & 7 deletions

File tree

sound/usb/mixer_quirks.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -311,13 +311,8 @@ static int snd_audigy2nx_led_update(struct usb_mixer_interface *mixer,
311311
if (pm.err < 0)
312312
return pm.err;
313313

314-
if (chip->usb_id == USB_ID(0x041e, 0x3042))
315-
err = snd_usb_ctl_msg(chip->dev,
316-
usb_sndctrlpipe(chip->dev, 0), 0x24,
317-
USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER,
318-
!value, 0, NULL, 0);
319-
/* USB X-Fi S51 Pro */
320-
if (chip->usb_id == USB_ID(0x041e, 0x30df))
314+
if (chip->usb_id == USB_ID(0x041e, 0x3042) || /* USB X-Fi S51 */
315+
chip->usb_id == USB_ID(0x041e, 0x30df)) /* USB X-Fi S51 Pro */
321316
err = snd_usb_ctl_msg(chip->dev,
322317
usb_sndctrlpipe(chip->dev, 0), 0x24,
323318
USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER,

0 commit comments

Comments
 (0)