[GIT PULL] sound fixes for 4.9-rc1

From: Takashi Iwai
Date: Sat Oct 15 2016 - 05:06:04 EST


Linus,

please pull sound fixes for v4.9-rc1 from:

git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-fix-4.9-rc1

The topmost commit is fdd8218d7d1bd0ccb9a3f4c58bf77773691a56cc

----------------------------------------------------------------

sound fixes for 4.9-rc1

Just a few trivial small fixes.

----------------------------------------------------------------

Andrej Krutak (1):
ALSA: line6: Fix POD X3 Live audio input

Dan Carpenter (1):
ALSA: line6: fix a crash in line6_hwdep_write()

Hui Wang (1):
ALSA: hda - Fix a failure of micmute led when having multi adcs

Takashi Sakamoto (1):
ALSA: seq: fix passing wrong pointer in function call of compatibility layer

---
sound/core/seq/seq_compat.c | 2 +-
sound/pci/hda/dell_wmi_helper.c | 2 +-
sound/pci/hda/thinkpad_helper.c | 2 +-
sound/usb/line6/driver.c | 4 ++--
sound/usb/line6/podhd.c | 3 ++-
5 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/sound/core/seq/seq_compat.c b/sound/core/seq/seq_compat.c
index fce5697e4261..8c3507216676 100644
--- a/sound/core/seq/seq_compat.c
+++ b/sound/core/seq/seq_compat.c
@@ -58,7 +58,7 @@ static int snd_seq_call_port_info_ioctl(struct snd_seq_client *client, unsigned
goto error;
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)
goto error;

diff --git a/sound/pci/hda/dell_wmi_helper.c b/sound/pci/hda/dell_wmi_helper.c
index 9c22f95838ef..19d41da79f93 100644
--- a/sound/pci/hda/dell_wmi_helper.c
+++ b/sound/pci/hda/dell_wmi_helper.c
@@ -49,7 +49,7 @@ static void alc_fixup_dell_wmi(struct hda_codec *codec,
removefunc = true;
if (dell_led_set_func(DELL_LED_MICMUTE, false) >= 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");
else {
dell_old_cap_hook = spec->gen.cap_sync_hook;
diff --git a/sound/pci/hda/thinkpad_helper.c b/sound/pci/hda/thinkpad_helper.c
index f0955fd7a2e7..6a23302297c9 100644
--- a/sound/pci/hda/thinkpad_helper.c
+++ b/sound/pci/hda/thinkpad_helper.c
@@ -62,7 +62,7 @@ static void hda_fixup_thinkpad_acpi(struct hda_codec *codec,
removefunc = false;
}
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,
"Skipping micmute LED control due to several ADCs");
else {
diff --git a/sound/usb/line6/driver.c b/sound/usb/line6/driver.c
index 14e587e70655..90009c0b3a92 100644
--- a/sound/usb/line6/driver.c
+++ b/sound/usb/line6/driver.c
@@ -604,8 +604,8 @@ line6_hwdep_write(struct snd_hwdep *hwdep, const char __user *data, long count,
}

data_copy = memdup_user(data, count);
- if (IS_ERR(ERR_PTR))
- return -ENOMEM;
+ if (IS_ERR(data_copy))
+ return PTR_ERR(data_copy);

rv = line6_send_raw_message(line6, data_copy, count);

diff --git a/sound/usb/line6/podhd.c b/sound/usb/line6/podhd.c
index 9352a44ae6e4..49cd4a65e390 100644
--- a/sound/usb/line6/podhd.c
+++ b/sound/usb/line6/podhd.c
@@ -317,7 +317,8 @@ static int podhd_init(struct usb_line6 *line6,
if (pod->line6.properties->capabilities & LINE6_CAP_PCM) {
/* initialize PCM subsystem: */
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);
if (err < 0)
return err;