Skip to content

Commit

Permalink
ALSA: usb-audio: purge needless variable length array
Browse files Browse the repository at this point in the history
Variable length array is used in 'snd_us16x08_meter_get()', while there
is no need. It's better to purge it because variable length array has
overhead for stack handling.

This commit replaces the array with static length. Sparse generated below
warning.

sound/usb/mixer_us16x08.c:714:18: warning: Variable length array is used.

Fixes: d2bb390 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk")
Signed-off-by: Takashi Sakamoto <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
takaswie authored and tiwai committed Feb 22, 2017
1 parent 4b49f0f commit 89b593c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions sound/usb/mixer_us16x08.c
Original file line number Diff line number Diff line change
Expand Up @@ -711,7 +711,7 @@ static int snd_us16x08_meter_get(struct snd_kcontrol *kcontrol,
struct snd_usb_audio *chip = elem->head.mixer->chip;
struct snd_us16x08_meter_store *store = elem->private_data;
u8 meter_urb[64];
char tmp[max(sizeof(mix_init_msg1), sizeof(mix_init_msg2))];
char tmp[sizeof(mix_init_msg2)] = {0};

if (elem) {
store = (struct snd_us16x08_meter_store *) elem->private_data;
Expand All @@ -721,8 +721,8 @@ static int snd_us16x08_meter_get(struct snd_kcontrol *kcontrol,

switch (kcontrol->private_value) {
case 0:
memcpy(tmp, mix_init_msg1, sizeof(mix_init_msg1));
snd_us16x08_send_urb(chip, tmp, 4);
snd_us16x08_send_urb(chip, (char *)mix_init_msg1,
sizeof(mix_init_msg1));
snd_us16x08_recv_urb(chip, meter_urb,
sizeof(meter_urb));
kcontrol->private_value++;
Expand All @@ -740,7 +740,7 @@ static int snd_us16x08_meter_get(struct snd_kcontrol *kcontrol,
case 3:
memcpy(tmp, mix_init_msg2, sizeof(mix_init_msg2));
tmp[2] = snd_get_meter_comp_index(store);
snd_us16x08_send_urb(chip, tmp, 10);
snd_us16x08_send_urb(chip, tmp, sizeof(mix_init_msg2));
snd_us16x08_recv_urb(chip, meter_urb,
sizeof(meter_urb));
kcontrol->private_value = 0;
Expand Down

0 comments on commit 89b593c

Please sign in to comment.