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

Commit 108884e6 authored by Tamaki Nishino's avatar Tamaki Nishino Committed by Takashi Iwai
Browse files

ALSA: usb-audio: Change the semantics of the enable option



This patch changes the semantics of the enable option for snd-usb-audio
in order to allow users to disable a device specified by either or both
of the vendor id and the product id.

Signed-off-by: default avatarTamaki Nishino <otamachan@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent e8eb7c6e
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -585,15 +585,24 @@ static int usb_audio_probe(struct usb_interface *intf,
		 * now look for an empty slot and create a new card instance
		 */
		for (i = 0; i < SNDRV_CARDS; i++)
			if (enable[i] && ! usb_chip[i] &&
			if (!usb_chip[i] &&
			    (vid[i] == -1 || vid[i] == USB_ID_VENDOR(id)) &&
			    (pid[i] == -1 || pid[i] == USB_ID_PRODUCT(id))) {
				if (enable[i]) {
					err = snd_usb_audio_create(intf, dev, i, quirk,
								   id, &chip);
					if (err < 0)
						goto __error;
					chip->pm_intf = intf;
					break;
				} else if (vid[i] != -1 || pid[i] != -1) {
					dev_info(&dev->dev,
						 "device (%04x:%04x) is disabled\n",
						 USB_ID_VENDOR(id),
						 USB_ID_PRODUCT(id));
					err = -ENOENT;
					goto __error;
				}
			}
		if (!chip) {
			dev_err(&dev->dev, "no available usb audio device\n");