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

Commit e7553b19 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: sound/pci/rme9652: prevent reading uninitialized stack memory
  ALSA: hda - Fix auto-parse of SPDIF input of Realtek codecs
  ASoC: Fix multi-componentism
  ASoC: Fix soc-cache buffer overflow bug
  ALSA: oxygen: fix analog capture on Claro halo cards
  ALSA: hda - Add Dell Latitude E6400 model quirk
  ASoC: fix clkdev API usage in sh/migor.c
parents 5ec1055a 3b23cd28
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = {
	/* Lenovo Thinkpad T61/X61 */
	/* Lenovo Thinkpad T61/X61 */
	SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD),
	SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD),
	SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP),
	SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP),
	SND_PCI_QUIRK(0x1028, 0x0233, "Dell Latitude E6400", AD1984_DELL_DESKTOP),
	{}
	{}
};
};


+16 −6
Original line number Original line Diff line number Diff line
@@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec)
	}
	}
	if (spec->autocfg.dig_in_pin) {
	if (spec->autocfg.dig_in_pin) {
		hda_nid_t dig_nid;
		dig_nid = codec->start_nid;
		err = snd_hda_get_connections(codec,
		for (i = 0; i < codec->num_nodes; i++, dig_nid++) {
					      spec->autocfg.dig_in_pin,
			unsigned int wcaps = get_wcaps(codec, dig_nid);
					      &dig_nid, 1);
			if (get_wcaps_type(wcaps) != AC_WID_AUD_IN)
		if (err > 0)
				continue;
			if (!(wcaps & AC_WCAP_DIGITAL))
				continue;
			if (!(wcaps & AC_WCAP_CONN_LIST))
				continue;
			err = get_connection_index(codec, dig_nid,
						   spec->autocfg.dig_in_pin);
			if (err >= 0) {
				spec->dig_in_nid = dig_nid;
				spec->dig_in_nid = dig_nid;
				break;
			}
		}
	}
	}
}
}
+4 −0
Original line number Original line Diff line number Diff line
@@ -543,6 +543,10 @@ static int __devinit get_oxygen_model(struct oxygen *chip,
		chip->model.suspend = claro_suspend;
		chip->model.suspend = claro_suspend;
		chip->model.resume = claro_resume;
		chip->model.resume = claro_resume;
		chip->model.set_adc_params = set_ak5385_params;
		chip->model.set_adc_params = set_ak5385_params;
		chip->model.device_config = PLAYBACK_0_TO_I2S |
					    PLAYBACK_1_TO_SPDIF |
					    CAPTURE_0_FROM_I2S_2 |
					    CAPTURE_1_FROM_SPDIF;
		break;
		break;
	}
	}
	if (id->driver_data == MODEL_MERIDIAN ||
	if (id->driver_data == MODEL_MERIDIAN ||
+1 −0
Original line number Original line Diff line number Diff line
@@ -4609,6 +4609,7 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne
		if (err < 0)
		if (err < 0)
			return err;
			return err;


		memset(&info, 0, sizeof(info));
		spin_lock_irqsave(&hdsp->lock, flags);
		spin_lock_irqsave(&hdsp->lock, flags);
		info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp);
		info.pref_sync_ref = (unsigned char)hdsp_pref_sync_ref(hdsp);
		info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp);
		info.wordclock_sync_check = (unsigned char)hdsp_wc_sync_check(hdsp);
+1 −0
Original line number Original line Diff line number Diff line
@@ -4127,6 +4127,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep * hw, struct file *file,


	case SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO:
	case SNDRV_HDSPM_IOCTL_GET_CONFIG_INFO:


		memset(&info, 0, sizeof(info));
		spin_lock_irq(&hdspm->lock);
		spin_lock_irq(&hdspm->lock);
		info.pref_sync_ref = hdspm_pref_sync_ref(hdspm);
		info.pref_sync_ref = hdspm_pref_sync_ref(hdspm);
		info.wordclock_sync_check = hdspm_wc_sync_check(hdspm);
		info.wordclock_sync_check = hdspm_wc_sync_check(hdspm);
Loading