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

Commit e76bf634 authored by Daniel Mack's avatar Daniel Mack Committed by Takashi Iwai
Browse files

ALSA: snd-usb-caiaq: Fix LED commands for Kore controller



KoreController and KoreController2 need an EP1_CMD_DIMM_LEDS command to set
their LEDs, not EP1_CMD_WRITE_IO.

Signed-off-by: default avatarDaniel Mack <daniel@zonque.org>
Reported-and-tested-by: default avatarBrad Wilson <brad.wilson.00@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent a9960e6a
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -100,15 +100,19 @@ static int control_put(struct snd_kcontrol *kcontrol,
	struct snd_usb_caiaqdev *cdev = caiaqdev(chip->card);
	int pos = kcontrol->private_value;
	int v = ucontrol->value.integer.value[0];
	unsigned char cmd = EP1_CMD_WRITE_IO;
	unsigned char cmd;

	if (cdev->chip.usb_id ==
		USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_TRAKTORKONTROLX1))
		cmd = EP1_CMD_DIMM_LEDS;

	if (cdev->chip.usb_id ==
		USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_MASCHINECONTROLLER))
	switch (cdev->chip.usb_id) {
	case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_MASCHINECONTROLLER):
	case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_TRAKTORKONTROLX1):
	case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER2):
	case USB_ID(USB_VID_NATIVEINSTRUMENTS, USB_PID_KORECONTROLLER):
		cmd = EP1_CMD_DIMM_LEDS;
		break;
	default:
		cmd = EP1_CMD_WRITE_IO;
		break;
	}

	if (pos & CNT_INTVAL) {
		int i = pos & ~CNT_INTVAL;