Commit c2240725 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound fixes from Takashi Iwai:
 "As expected, we still continue receiving lots of small fixes.

  One major change is about HD-audio pending IRQ handling, but this
  would influence only on odd machines or slow VMs. There are a few
  other fixes for the core part, but most of them are not-too-serious
  UAF fixes, while the rest are mostly device-specific fixes and quirks.

  ALSA Core:
   - Fix for PCM silencing with bogus iov_iter
   - Fixes for past-the-end iterators in timer and seq
   - Serialization of UMP output teardown
   - Rate-limit ELD parsing errors

  HD-audio:
   - Fixes for IRQ work handling and SSID matching
   - Various Realtek quirks for HP and ASUS laptops, including LED fixes

  ASoC:
   - Intel: ACPI match table updates for PTL, NVL, and ARL platforms
   - Cirrus Logic: Fixes for cs-amp-lib and cs35l56 codecs
   - Various platform fixes for AMD, FSL SAI, TI OMAP, and Qualcomm
   - DT-binding fix for MediaTek

  Others:
   - USB ua101: Reject too-short USB descriptors
   - Scarlett2: Fix for flash writes
   - ASIHPI: Fix for potential OOB access
   - AMD SPI: Fix for bus number in ACPI probe

  MAINTAINERS:
   - Updates for SOF and TI maintainers"

* tag 'sound-7.1-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (47 commits)
  ASoC: codecs: pcm512x: fix null-ptr dereference in pcm512x_overclock_xxx_put()
  ASoC: Intel: soc-acpi-intel-ptl-match: Remove unnecessary cs42l43 match
  ASoC: soc-acpi-intel-ptl-match: Make Chrome matches conditional
  ASoC: Intel: soc-acpi: Add entry for sof_es8336 in NVL match table.
  ASoC: Intel: sof_sdw: Add support for nvlrvp in NVL platform
  ASoC: cs-amp-lib: Fix typo in error message: write -> read
  ASoC: cs-amp-lib: Fix missing dput() after debugfs_lookup()
  ASoC: cs-amp-lib: Fix wrong sizeof() in _cs_amp_set_efi_calibration_data()
  ASoC: cs35l56: Fix flushing of IRQ work in cs35l56_sdw_remove()
  MAINTAINERS: ASoC: Intel/SOF: Remove Ranjani Sridharan as maintainer
  ALSA: seq: Serialize UMP output teardown with event_input
  ALSA: scarlett2: Allow flash writes ending at segment boundary
  ALSA: hda/realtek: Add LED quirk for HP ProBook 430 G6
  ALSA: hda/intel: Make sure to cancel irq-pending work at closing PCM stream
  ALSA: hda: Move irq pending work into hda-intel stream
  ASoC: soc-utils: Add missing va_end in snd_soc_ret()
  ALSA: ua101: Reject too-short USB descriptors
  ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP 16 Piston OmniBook X
  ALSA: seq: avoid past-the-end iterator in snd_seq_create_port()
  ALSA: timer: avoid past-the-end iterator in snd_timer_dev_register()
  ...
parents 3997e3bb 2519003d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@ properties:
    description: Phandles of rt5650 and rt5514 codecs
    items:
      - description: phandle of rt5650 codec
        maxItems: 1
      - description: phandle of rt5514 codec
        maxItems: 1

  mediatek,platform:
    $ref: /schemas/types.yaml#/definitions/phandle
+1 −10
Original line number Diff line number Diff line
@@ -12791,7 +12791,6 @@ M: Cezary Rojewski <cezary.rojewski@intel.com>
M:	Liam Girdwood <liam.r.girdwood@linux.intel.com>
M:	Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
M:	Bard Liao <yung-chuan.liao@linux.intel.com>
M:	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
M:	Kai Vehmanen <kai.vehmanen@linux.intel.com>
R:	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
L:	linux-sound@vger.kernel.org
@@ -19462,7 +19461,6 @@ F: include/misc/ocxl*
F:	include/uapi/misc/ocxl.h
OMAP AUDIO SUPPORT
M:	Peter Ujfalusi <peter.ujfalusi@gmail.com>
M:	Jarkko Nikula <jarkko.nikula@bitmer.com>
L:	linux-sound@vger.kernel.org
L:	linux-omap@vger.kernel.org
@@ -25070,7 +25068,6 @@ SOUND - SOUND OPEN FIRMWARE (SOF) DRIVERS
M:	Liam Girdwood <lgirdwood@gmail.com>
M:	Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
M:	Bard Liao <yung-chuan.liao@linux.intel.com>
M:	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
M:	Daniel Baluta <daniel.baluta@nxp.com>
R:	Kai Vehmanen <kai.vehmanen@linux.intel.com>
R:	Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
@@ -26363,7 +26360,7 @@ F: arch/xtensa/
F:	drivers/irqchip/irq-xtensa-*
TEXAS INSTRUMENTS ASoC DRIVERS
M:	Peter Ujfalusi <peter.ujfalusi@gmail.com>
M:	Sen Wang <sen@ti.com>
L:	linux-sound@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/sound/davinci-mcasp-audio.yaml
@@ -26865,12 +26862,6 @@ S: Maintained
F:	Documentation/devicetree/bindings/iio/adc/ti,tsc2046.yaml
F:	drivers/iio/adc/ti-tsc2046.c
TI TWL4030 SERIES SOC CODEC DRIVER
M:	Peter Ujfalusi <peter.ujfalusi@gmail.com>
L:	linux-sound@vger.kernel.org
S:	Maintained
F:	sound/soc/codecs/twl4030*
TI VPE/CAL DRIVERS
M:	Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
L:	linux-media@vger.kernel.org
+1 −1
Original line number Diff line number Diff line
@@ -868,7 +868,7 @@ static int amd_spi_probe(struct platform_device *pdev)
	dev_dbg(dev, "io_remap_address: %p\n", amd_spi->io_remap_addr);

	amd_spi->version = (uintptr_t)device_get_match_data(dev);
	host->bus_num = 0;
	host->bus_num = (amd_spi->version == AMD_HID2_SPI) ? 2 : 0;

	return amd_spi_probe_common(dev, host);
}
+2 −2
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ int snd_parse_eld(struct device *dev, struct snd_parsed_hdmi_eld *e,
	e->eld_ver = GRAB_BITS(buf, 0, 3, 5);
	if (e->eld_ver != ELD_VER_CEA_861D &&
	    e->eld_ver != ELD_VER_PARTIAL) {
		dev_info(dev, "HDMI: Unknown ELD version %d\n", e->eld_ver);
		dev_info_ratelimited(dev, "HDMI: Unknown ELD version %d\n", e->eld_ver);
		goto out_fail;
	}

@@ -357,7 +357,7 @@ int snd_parse_eld(struct device *dev, struct snd_parsed_hdmi_eld *e,
	e->product_id	  = get_unaligned_le16(buf + 18);

	if (mnl > ELD_MAX_MNL) {
		dev_info(dev, "HDMI: MNL is reserved value %d\n", mnl);
		dev_info_ratelimited(dev, "HDMI: MNL is reserved value %d\n", mnl);
		goto out_fail;
	} else if (ELD_FIXED_BYTES + mnl > size) {
		dev_info(dev, "HDMI: out of range MNL %d\n", mnl);
+3 −0
Original line number Diff line number Diff line
@@ -2138,6 +2138,9 @@ static int interleaved_copy(struct snd_pcm_substream *substream,
	off = frames_to_bytes(runtime, off);
	frames = frames_to_bytes(runtime, frames);

	if (!data)
		return fill_silence(substream, 0, hwoff, NULL, frames);

	return do_transfer(substream, 0, hwoff, data + off, frames, transfer,
			   in_kernel);
}
Loading