diff mbox series

[v2] ALSA: usb-audio: Reorder snd_djm_devices[] entries

Message ID Yau46FDzoql0SNnW@geday
State Accepted
Commit fb1af5bea4670c835e42fc0c14c49d3499468774
Headers show
Series [v2] ALSA: usb-audio: Reorder snd_djm_devices[] entries | expand

Commit Message

Geraldo Nascimento Dec. 4, 2021, 6:52 p.m. UTC
Olivia Mackintosh has posted to alsa-devel reporting that
there's a potential bug that could break mixer quirks for Pioneer
devices introduced by 6d27788160362a7ee6c0d317636fe4b1ddbe59a7
"ALSA: usb-audio: Add support for the Pioneer DJM 750MK2
Mixer/Soundcard".

This happened because the DJM 750 MK2 was added last to the Pioneer DJM
device table index and defined as 0x4 but was added to snd_djm_devices[]
just after the DJM 750 (MK1) entry instead of last, after the DJM 900
NXS2. This escaped review.

To prevent that from ever happening again, Takashi Iwai suggested to use
C99 array designators in snd_djm_devices[] instead of simply reordering
the entries.

Reported-by: Olivia Mackintosh <livvy@base.nu>
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Geraldo Nascimento <geraldogabriel@gmail.com>

---

V1 -> V2: added C99 array designators to prevent the order of entries
ever being an issue again.

---

Hi Takashi,

First, thanks for the suggestion regarding C99 array designators. This
will serve us well. As I said before, I don't own any DJM mixers to test
this, and although it's a simple change, I'm always for testing.

Thanks,
Geraldo Nascimento

---

Comments

Takashi Iwai Dec. 6, 2021, 9:07 a.m. UTC | #1
On Sat, 04 Dec 2021 19:52:24 +0100,
Geraldo Nascimento wrote:
> 
> Olivia Mackintosh has posted to alsa-devel reporting that
> there's a potential bug that could break mixer quirks for Pioneer
> devices introduced by 6d27788160362a7ee6c0d317636fe4b1ddbe59a7
> "ALSA: usb-audio: Add support for the Pioneer DJM 750MK2
> Mixer/Soundcard".
> 
> This happened because the DJM 750 MK2 was added last to the Pioneer DJM
> device table index and defined as 0x4 but was added to snd_djm_devices[]
> just after the DJM 750 (MK1) entry instead of last, after the DJM 900
> NXS2. This escaped review.
> 
> To prevent that from ever happening again, Takashi Iwai suggested to use
> C99 array designators in snd_djm_devices[] instead of simply reordering
> the entries.
> 
> Reported-by: Olivia Mackintosh <livvy@base.nu>
> Suggested-by: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Geraldo Nascimento <geraldogabriel@gmail.com>
> 
> ---
> 
> V1 -> V2: added C99 array designators to prevent the order of entries
> ever being an issue again.

Thanks, applied now with Fixes tag.


Takashi
diff mbox series

Patch

diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index d489c1de3bae..823b6b8de942 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -3016,11 +3016,11 @@  static const struct snd_djm_ctl snd_djm_ctls_750mk2[] = {
 
 
 static const struct snd_djm_device snd_djm_devices[] = {
-	SND_DJM_DEVICE(250mk2),
-	SND_DJM_DEVICE(750),
-	SND_DJM_DEVICE(750mk2),
-	SND_DJM_DEVICE(850),
-	SND_DJM_DEVICE(900nxs2)
+	[SND_DJM_250MK2_IDX] = SND_DJM_DEVICE(250mk2),
+	[SND_DJM_750_IDX] = SND_DJM_DEVICE(750),
+	[SND_DJM_850_IDX] = SND_DJM_DEVICE(850),
+	[SND_DJM_900NXS2_IDX] = SND_DJM_DEVICE(900nxs2),
+	[SND_DJM_750MK2_IDX] = SND_DJM_DEVICE(750mk2),
 };