On Tue, Jun 22, 2021 at 09:00:19AM +0200, Takashi Iwai wrote:
On Mon, 21 Jun 2021 20:09:48 +0200, Geoffrey D. Bennett wrote:
Add mixer support for the Focusrite Scarlett 4i4, 8i6, 18i8, and 18i20 Gen 3 devices.
Signed-off-by: Geoffrey D. Bennett g@b4.vu
sound/usb/mixer.c | 2 +- sound/usb/mixer_quirks.c | 4 + sound/usb/mixer_scarlett_gen2.c | 260 +++++++++++++++++++++++++++++--- 3 files changed, 246 insertions(+), 20 deletions(-)
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index 428d581f988f..ba4aa1eacb04 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -50,7 +50,7 @@ #include "mixer_quirks.h" #include "power.h"
-#define MAX_ID_ELEMS 256 +#define MAX_ID_ELEMS 512
This change requires the explanation. Usually the unit id is a byte per definition, so it can't be over 256.
Before making this change we were getting a buffer overflow in mixer->id_elems[] (snd_usb_mixer_add_list()) because more than 256 controls were being added for the 18i20 Gen 3 device. I will send a replacement patch with an updated comment.