Commit 1d110257 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound fixes from Takashi Iwai:
 "It's a bit of surprising that we've got more changes than hoped at
  this late stage, but they all don't look too scary but small fixes.

  One change in ALSA core side is again the PCM regression fix that was
  partially addressed for OSS, but now the all relevant change is
  reverted instead. Also, a few ASoC core fixes for UAF and OOB are
  included, while the rest are usual random device-specific fixes"

* tag 'sound-5.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: pcm: Revert capture stream behavior change in blocking mode
  ALSA: usb-audio: Fix implicit fb endpoint setup by quirk
  ALSA: hda - Add quirk for HP EliteBook 840 G5
  ASoC: samsung: Prevent clk_get_rate() calls in atomic context
  ASoC: rsnd: ssiu: correct shift bit for ssiu9
  ASoC: rsnd: fixup rsnd_ssi_master_clk_start() user count check
  ASoC: dapm: fix out-of-bounds accesses to DAPM lookup tables
  ASoC: topology: fix oops/use-after-free case with dai driver
  ASoC: rsnd: fixup MIX kctrl registration
  ASoC: core: Allow soc_find_component lookups to match parent of_node
  ASoC: rt5682: Correct the setting while select ASRC clk for AD/DA filter
  ASoC: MAINTAINERS: fsl: Change Fabio's email address
  ASoC: hdmi-codec: fix oops on re-probe
parents 8ae757ef 00a399ca
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -6151,7 +6151,7 @@ FREESCALE SOC SOUND DRIVERS
M:	Timur Tabi <timur@kernel.org>
M:	Nicolin Chen <nicoleotsuka@gmail.com>
M:	Xiubo Li <Xiubo.Lee@gmail.com>
R:	Fabio Estevam <fabio.estevam@nxp.com>
R:	Fabio Estevam <festevam@gmail.com>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
L:	linuxppc-dev@lists.ozlabs.org
S:	Maintained
@@ -10898,7 +10898,7 @@ F: include/linux/nvmem-consumer.h
F:	include/linux/nvmem-provider.h

NXP SGTL5000 DRIVER
M:	Fabio Estevam <fabio.estevam@nxp.com>
M:	Fabio Estevam <festevam@gmail.com>
L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
S:	Maintained
F:	Documentation/devicetree/bindings/sound/sgtl5000.txt
+4 −16
Original line number Diff line number Diff line
@@ -2112,13 +2112,6 @@ int pcm_lib_apply_appl_ptr(struct snd_pcm_substream *substream,
	return 0;
}

/* allow waiting for a capture stream that hasn't been started */
#if IS_ENABLED(CONFIG_SND_PCM_OSS)
#define wait_capture_start(substream)	((substream)->oss.oss)
#else
#define wait_capture_start(substream)	false
#endif

/* the common loop for read/write data */
snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream,
				     void *data, bool interleaved,
@@ -2184,16 +2177,11 @@ snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream,
		snd_pcm_update_hw_ptr(substream);

	if (!is_playback &&
	    runtime->status->state == SNDRV_PCM_STATE_PREPARED) {
		if (size >= runtime->start_threshold) {
	    runtime->status->state == SNDRV_PCM_STATE_PREPARED &&
	    size >= runtime->start_threshold) {
		err = snd_pcm_start(substream);
		if (err < 0)
			goto _end_unlock;
		} else if (!wait_capture_start(substream)) {
			/* nothing to do */
			err = 0;
			goto _end_unlock;
		}
	}

	avail = snd_pcm_avail(substream);
+1 −0
Original line number Diff line number Diff line
@@ -924,6 +924,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = {
	SND_PCI_QUIRK(0x103c, 0x807C, "HP EliteBook 820 G3", CXT_FIXUP_HP_DOCK),
	SND_PCI_QUIRK(0x103c, 0x80FD, "HP ProBook 640 G2", CXT_FIXUP_HP_DOCK),
	SND_PCI_QUIRK(0x103c, 0x828c, "HP EliteBook 840 G4", CXT_FIXUP_HP_DOCK),
	SND_PCI_QUIRK(0x103c, 0x83b2, "HP EliteBook 840 G5", CXT_FIXUP_HP_DOCK),
	SND_PCI_QUIRK(0x103c, 0x83b3, "HP EliteBook 830 G5", CXT_FIXUP_HP_DOCK),
	SND_PCI_QUIRK(0x103c, 0x83d3, "HP ProBook 640 G4", CXT_FIXUP_HP_DOCK),
	SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE),
+2 −2
Original line number Diff line number Diff line
@@ -795,6 +795,8 @@ static int hdmi_codec_probe(struct platform_device *pdev)
	if (hcd->spdif)
		hcp->daidrv[i] = hdmi_spdif_dai;

	dev_set_drvdata(dev, hcp);

	ret = devm_snd_soc_register_component(dev, &hdmi_driver, hcp->daidrv,
				     dai_count);
	if (ret) {
@@ -802,8 +804,6 @@ static int hdmi_codec_probe(struct platform_device *pdev)
			__func__, ret);
		return ret;
	}

	dev_set_drvdata(dev, hcp);
	return 0;
}

+2 −0
Original line number Diff line number Diff line
@@ -1778,7 +1778,9 @@ static const struct snd_soc_dapm_route rt5682_dapm_routes[] = {
	{"ADC Stereo1 Filter", NULL, "ADC STO1 ASRC", is_using_asrc},
	{"DAC Stereo1 Filter", NULL, "DAC STO1 ASRC", is_using_asrc},
	{"ADC STO1 ASRC", NULL, "AD ASRC"},
	{"ADC STO1 ASRC", NULL, "DA ASRC"},
	{"ADC STO1 ASRC", NULL, "CLKDET"},
	{"DAC STO1 ASRC", NULL, "AD ASRC"},
	{"DAC STO1 ASRC", NULL, "DA ASRC"},
	{"DAC STO1 ASRC", NULL, "CLKDET"},

Loading