Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 050aaeab authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;


+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 {
+2 −2
Original line number Original line Diff line number Diff line
@@ -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);


+2 −1
Original line number Original line Diff line number Diff line
@@ -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;