Commit 050aaeab authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'sound-fix-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "Just a few trivial small fixes"

* tag 'sound-fix-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: line6: fix a crash in line6_hwdep_write()
  ALSA: seq: fix passing wrong pointer in function call of compatibility layer
  ALSA: hda - Fix a failure of micmute led when having multi adcs
  ALSA: line6: Fix POD X3 Live audio input
parents b26b5ef5 fdd8218d
...@@ -58,7 +58,7 @@ static int snd_seq_call_port_info_ioctl(struct snd_seq_client *client, unsigned ...@@ -58,7 +58,7 @@ static int snd_seq_call_port_info_ioctl(struct snd_seq_client *client, unsigned
goto error; goto error;
data->kernel = NULL; data->kernel = NULL;
err = snd_seq_kernel_client_ctl(client->number, cmd, &data); err = snd_seq_kernel_client_ctl(client->number, cmd, data);
if (err < 0) if (err < 0)
goto error; goto error;
......
...@@ -49,7 +49,7 @@ static void alc_fixup_dell_wmi(struct hda_codec *codec, ...@@ -49,7 +49,7 @@ static void alc_fixup_dell_wmi(struct hda_codec *codec,
removefunc = true; removefunc = true;
if (dell_led_set_func(DELL_LED_MICMUTE, false) >= 0) { if (dell_led_set_func(DELL_LED_MICMUTE, false) >= 0) {
dell_led_value = 0; dell_led_value = 0;
if (spec->gen.num_adc_nids > 1) if (spec->gen.num_adc_nids > 1 && !spec->gen.dyn_adc_switch)
codec_dbg(codec, "Skipping micmute LED control due to several ADCs"); codec_dbg(codec, "Skipping micmute LED control due to several ADCs");
else { else {
dell_old_cap_hook = spec->gen.cap_sync_hook; dell_old_cap_hook = spec->gen.cap_sync_hook;
......
...@@ -62,7 +62,7 @@ static void hda_fixup_thinkpad_acpi(struct hda_codec *codec, ...@@ -62,7 +62,7 @@ static void hda_fixup_thinkpad_acpi(struct hda_codec *codec,
removefunc = false; removefunc = false;
} }
if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) { if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) {
if (spec->num_adc_nids > 1) if (spec->num_adc_nids > 1 && !spec->dyn_adc_switch)
codec_dbg(codec, codec_dbg(codec,
"Skipping micmute LED control due to several ADCs"); "Skipping micmute LED control due to several ADCs");
else { else {
......
...@@ -604,8 +604,8 @@ line6_hwdep_write(struct snd_hwdep *hwdep, const char __user *data, long count, ...@@ -604,8 +604,8 @@ line6_hwdep_write(struct snd_hwdep *hwdep, const char __user *data, long count,
} }
data_copy = memdup_user(data, count); data_copy = memdup_user(data, count);
if (IS_ERR(ERR_PTR)) if (IS_ERR(data_copy))
return -ENOMEM; return PTR_ERR(data_copy);
rv = line6_send_raw_message(line6, data_copy, count); rv = line6_send_raw_message(line6, data_copy, count);
......
...@@ -317,7 +317,8 @@ static int podhd_init(struct usb_line6 *line6, ...@@ -317,7 +317,8 @@ static int podhd_init(struct usb_line6 *line6,
if (pod->line6.properties->capabilities & LINE6_CAP_PCM) { if (pod->line6.properties->capabilities & LINE6_CAP_PCM) {
/* initialize PCM subsystem: */ /* initialize PCM subsystem: */
err = line6_init_pcm(line6, err = line6_init_pcm(line6,
(id->driver_info == LINE6_PODX3) ? &podx3_pcm_properties : (id->driver_info == LINE6_PODX3 ||
id->driver_info == LINE6_PODX3LIVE) ? &podx3_pcm_properties :
&podhd_pcm_properties); &podhd_pcm_properties);
if (err < 0) if (err < 0)
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment