public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	Richard Fitzgerald <rf@opensource.cirrus.com>,
	Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.13 042/157] ASoC: cs35l56: Prevent races when soft-resetting using SPI control
Date: Wed,  5 Mar 2025 18:47:58 +0100	[thread overview]
Message-ID: <20250305174506.990258358@linuxfoundation.org> (raw)
In-Reply-To: <20250305174505.268725418@linuxfoundation.org>

6.13-stable review patch.  If anyone has any objections, please let me know.

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

From: Richard Fitzgerald <rf@opensource.cirrus.com>

[ Upstream commit 769c1b79295c38d60fde4c0a8f5f31e01360c54f ]

When SPI is used for control, the driver must hold the SPI bus lock
while issuing the sequence of writes to perform a soft reset.

>From the time the driver writes the SYSTEM_RESET command until the
driver does a write to terminate the reset, there must not be any
activity on the SPI bus lines. If there is any SPI activity during the
soft-reset, another soft-reset will be triggered. The state of the SPI
chip select is irrelevant.

A repeated soft-reset does not in itself cause any problems, and it is
not an infinite loop. The problem is a race between these resets and
the driver polling for boot completion. There is a time window between
soft resets where the driver could read HALO_STATE as 2 (fully booted)
while the chip is actually soft-resetting. Although this window is
small, it is long enough that it is possible to hit it in normal
operation.

To prevent this race and ensure the chip really is fully booted, the
driver calls spi_bus_lock() to prevent other activity while resetting.
It then issues the SYSTEM_RESET mailbox command. After allowing
sufficient time for reset to take effect, the driver issues a PING
mailbox command, which will force completion of the full soft-reset
sequence. The SPI bus lock can then be released. The mailbox is
checked for any boot or wakeup response from the firmware, before the
value in HALO_STATE will be trusted.

This does not affect SoundWire or I2C control.

Fixes: 8a731fd37f8b ("ASoC: cs35l56: Move utility functions to shared file")
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://patch.msgid.link/20250225131843.113752-3-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/sound/cs35l56.h           | 31 ++++++++++++
 sound/pci/hda/cs35l56_hda_spi.c   |  3 ++
 sound/soc/codecs/cs35l56-shared.c | 80 +++++++++++++++++++++++++++++++
 sound/soc/codecs/cs35l56-spi.c    |  3 ++
 4 files changed, 117 insertions(+)

diff --git a/include/sound/cs35l56.h b/include/sound/cs35l56.h
index 3dc7a1551ac35..5d653a3491d07 100644
--- a/include/sound/cs35l56.h
+++ b/include/sound/cs35l56.h
@@ -12,6 +12,7 @@
 #include <linux/firmware/cirrus/cs_dsp.h>
 #include <linux/regulator/consumer.h>
 #include <linux/regmap.h>
+#include <linux/spi/spi.h>
 #include <sound/cs-amp-lib.h>
 
 #define CS35L56_DEVID					0x0000000
@@ -61,6 +62,7 @@
 #define CS35L56_IRQ1_MASK_8				0x000E0AC
 #define CS35L56_IRQ1_MASK_18				0x000E0D4
 #define CS35L56_IRQ1_MASK_20				0x000E0DC
+#define CS35L56_DSP_MBOX_1_RAW				0x0011000
 #define CS35L56_DSP_VIRTUAL1_MBOX_1			0x0011020
 #define CS35L56_DSP_VIRTUAL1_MBOX_2			0x0011024
 #define CS35L56_DSP_VIRTUAL1_MBOX_3			0x0011028
@@ -224,6 +226,7 @@
 #define CS35L56_HALO_STATE_SHUTDOWN			1
 #define CS35L56_HALO_STATE_BOOT_DONE			2
 
+#define CS35L56_MBOX_CMD_PING				0x0A000000
 #define CS35L56_MBOX_CMD_AUDIO_PLAY			0x0B000001
 #define CS35L56_MBOX_CMD_AUDIO_PAUSE			0x0B000002
 #define CS35L56_MBOX_CMD_AUDIO_REINIT			0x0B000003
@@ -254,6 +257,16 @@
 #define CS35L56_NUM_BULK_SUPPLIES			3
 #define CS35L56_NUM_DSP_REGIONS				5
 
+/* Additional margin for SYSTEM_RESET to control port ready on SPI */
+#define CS35L56_SPI_RESET_TO_PORT_READY_US (CS35L56_CONTROL_PORT_READY_US + 2500)
+
+struct cs35l56_spi_payload {
+	__be32	addr;
+	__be16	pad;
+	__be32	value;
+} __packed;
+static_assert(sizeof(struct cs35l56_spi_payload) == 10);
+
 struct cs35l56_base {
 	struct device *dev;
 	struct regmap *regmap;
@@ -269,6 +282,7 @@ struct cs35l56_base {
 	s8 cal_index;
 	struct cirrus_amp_cal_data cal_data;
 	struct gpio_desc *reset_gpio;
+	struct cs35l56_spi_payload *spi_payload_buf;
 };
 
 static inline bool cs35l56_is_otp_register(unsigned int reg)
@@ -276,6 +290,23 @@ static inline bool cs35l56_is_otp_register(unsigned int reg)
 	return (reg >> 16) == 3;
 }
 
+static inline int cs35l56_init_config_for_spi(struct cs35l56_base *cs35l56,
+					      struct spi_device *spi)
+{
+	cs35l56->spi_payload_buf = devm_kzalloc(&spi->dev,
+						sizeof(*cs35l56->spi_payload_buf),
+						GFP_KERNEL | GFP_DMA);
+	if (!cs35l56->spi_payload_buf)
+		return -ENOMEM;
+
+	return 0;
+}
+
+static inline bool cs35l56_is_spi(struct cs35l56_base *cs35l56)
+{
+	return IS_ENABLED(CONFIG_SPI_MASTER) && !!cs35l56->spi_payload_buf;
+}
+
 extern const struct regmap_config cs35l56_regmap_i2c;
 extern const struct regmap_config cs35l56_regmap_spi;
 extern const struct regmap_config cs35l56_regmap_sdw;
diff --git a/sound/pci/hda/cs35l56_hda_spi.c b/sound/pci/hda/cs35l56_hda_spi.c
index d4ee5bb7c4866..9035784669053 100644
--- a/sound/pci/hda/cs35l56_hda_spi.c
+++ b/sound/pci/hda/cs35l56_hda_spi.c
@@ -22,6 +22,9 @@ static int cs35l56_hda_spi_probe(struct spi_device *spi)
 		return -ENOMEM;
 
 	cs35l56->base.dev = &spi->dev;
+	ret = cs35l56_init_config_for_spi(&cs35l56->base, spi);
+	if (ret)
+		return ret;
 
 #ifdef CS35L56_WAKE_HOLD_TIME_US
 	cs35l56->base.can_hibernate = true;
diff --git a/sound/soc/codecs/cs35l56-shared.c b/sound/soc/codecs/cs35l56-shared.c
index e0ed4fc11155a..e28bfefa72f33 100644
--- a/sound/soc/codecs/cs35l56-shared.c
+++ b/sound/soc/codecs/cs35l56-shared.c
@@ -10,6 +10,7 @@
 #include <linux/gpio/consumer.h>
 #include <linux/regmap.h>
 #include <linux/regulator/consumer.h>
+#include <linux/spi/spi.h>
 #include <linux/types.h>
 #include <sound/cs-amp-lib.h>
 
@@ -303,6 +304,79 @@ void cs35l56_wait_min_reset_pulse(void)
 }
 EXPORT_SYMBOL_NS_GPL(cs35l56_wait_min_reset_pulse, "SND_SOC_CS35L56_SHARED");
 
+static const struct {
+	u32 addr;
+	u32 value;
+} cs35l56_spi_system_reset_stages[] = {
+	{ .addr = CS35L56_DSP_VIRTUAL1_MBOX_1, .value = CS35L56_MBOX_CMD_SYSTEM_RESET },
+	/* The next write is necessary to delimit the soft reset */
+	{ .addr = CS35L56_DSP_MBOX_1_RAW, .value = CS35L56_MBOX_CMD_PING },
+};
+
+static void cs35l56_spi_issue_bus_locked_reset(struct cs35l56_base *cs35l56_base,
+					       struct spi_device *spi)
+{
+	struct cs35l56_spi_payload *buf = cs35l56_base->spi_payload_buf;
+	struct spi_transfer t = {
+		.tx_buf		= buf,
+		.len		= sizeof(*buf),
+	};
+	struct spi_message m;
+	int i, ret;
+
+	for (i = 0; i < ARRAY_SIZE(cs35l56_spi_system_reset_stages); i++) {
+		buf->addr = cpu_to_be32(cs35l56_spi_system_reset_stages[i].addr);
+		buf->value = cpu_to_be32(cs35l56_spi_system_reset_stages[i].value);
+		spi_message_init_with_transfers(&m, &t, 1);
+		ret = spi_sync_locked(spi, &m);
+		if (ret)
+			dev_warn(cs35l56_base->dev, "spi_sync failed: %d\n", ret);
+
+		usleep_range(CS35L56_SPI_RESET_TO_PORT_READY_US,
+			     2 * CS35L56_SPI_RESET_TO_PORT_READY_US);
+	}
+}
+
+static void cs35l56_spi_system_reset(struct cs35l56_base *cs35l56_base)
+{
+	struct spi_device *spi = to_spi_device(cs35l56_base->dev);
+	unsigned int val;
+	int read_ret, ret;
+
+	/*
+	 * There must not be any other SPI bus activity while the amp is
+	 * soft-resetting.
+	 */
+	ret = spi_bus_lock(spi->controller);
+	if (ret) {
+		dev_warn(cs35l56_base->dev, "spi_bus_lock failed: %d\n", ret);
+		return;
+	}
+
+	cs35l56_spi_issue_bus_locked_reset(cs35l56_base, spi);
+	spi_bus_unlock(spi->controller);
+
+	/*
+	 * Check firmware boot by testing for a response in MBOX_2.
+	 * HALO_STATE cannot be trusted yet because the reset sequence
+	 * can leave it with stale state. But MBOX is reset.
+	 * The regmap must remain in cache-only until the chip has
+	 * booted, so use a bypassed read.
+	 */
+	ret = read_poll_timeout(regmap_read_bypassed, read_ret,
+				(val > 0) && (val < 0xffffffff),
+				CS35L56_HALO_STATE_POLL_US,
+				CS35L56_HALO_STATE_TIMEOUT_US,
+				false,
+				cs35l56_base->regmap,
+				CS35L56_DSP_VIRTUAL1_MBOX_2,
+				&val);
+	if (ret) {
+		dev_err(cs35l56_base->dev, "SPI reboot timed out(%d): MBOX2=%#x\n",
+			read_ret, val);
+	}
+}
+
 static const struct reg_sequence cs35l56_system_reset_seq[] = {
 	REG_SEQ0(CS35L56_DSP1_HALO_STATE, 0),
 	REG_SEQ0(CS35L56_DSP_VIRTUAL1_MBOX_1, CS35L56_MBOX_CMD_SYSTEM_RESET),
@@ -315,6 +389,12 @@ void cs35l56_system_reset(struct cs35l56_base *cs35l56_base, bool is_soundwire)
 	 * accesses other than the controlled system reset sequence below.
 	 */
 	regcache_cache_only(cs35l56_base->regmap, true);
+
+	if (cs35l56_is_spi(cs35l56_base)) {
+		cs35l56_spi_system_reset(cs35l56_base);
+		return;
+	}
+
 	regmap_multi_reg_write_bypassed(cs35l56_base->regmap,
 					cs35l56_system_reset_seq,
 					ARRAY_SIZE(cs35l56_system_reset_seq));
diff --git a/sound/soc/codecs/cs35l56-spi.c b/sound/soc/codecs/cs35l56-spi.c
index c101134e85328..ca6c03a8766d3 100644
--- a/sound/soc/codecs/cs35l56-spi.c
+++ b/sound/soc/codecs/cs35l56-spi.c
@@ -33,6 +33,9 @@ static int cs35l56_spi_probe(struct spi_device *spi)
 
 	cs35l56->base.dev = &spi->dev;
 	cs35l56->base.can_hibernate = true;
+	ret = cs35l56_init_config_for_spi(&cs35l56->base, spi);
+	if (ret)
+		return ret;
 
 	ret = cs35l56_common_probe(cs35l56);
 	if (ret != 0)
-- 
2.39.5




  parent reply	other threads:[~2025-03-05 18:14 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-05 17:47 [PATCH 6.13 000/157] 6.13.6-rc1 review Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 001/157] RDMA/mlx5: Fix the recovery flow of the UMR QP Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 002/157] IB/mlx5: Set and get correct qp_num for a DCT QP Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 003/157] RDMA/mlx5: Fix a race for DMABUF MR which can lead to CQE with error Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 004/157] RDMA/mlx5: Fix a WARN during dereg_mr for DM type Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 005/157] RDMA/mana_ib: Allocate PAGE aligned doorbell index Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 006/157] RDMA/hns: Fix mbox timing out by adding retry mechanism Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 007/157] RDMA/bnxt_re: Add sanity checks on rdev validity Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 008/157] RDMA/bnxt_re: Allocate dev_attr information dynamically Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 009/157] RDMA/bnxt_re: Fix the statistics for Gen P7 VF Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 010/157] landlock: Fix non-TCP sockets restriction Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 011/157] scsi: ufs: core: Fix ufshcd_is_ufs_dev_busy() and ufshcd_eh_timed_out() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 012/157] ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 013/157] NFS: O_DIRECT writes must check and adjust the file length Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 014/157] NFS: Adjust delegated timestamps for O_DIRECT reads and writes Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 015/157] SUNRPC: Prevent looping due to rpc_signal_task() races Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 016/157] NFSv4: Fix a deadlock when recovering state on a sillyrenamed file Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 017/157] SUNRPC: Handle -ETIMEDOUT return from tlshd Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 018/157] RDMA/mlx5: Fix implicit ODP hang on parent deregistration Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 019/157] RDMA/mlx5: Fix AH static rate parsing Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 020/157] scsi: core: Clear driver private data when retrying request Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 021/157] scsi: ufs: core: Set default runtime/system PM levels before ufshcd_hba_init() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 022/157] RDMA/mlx5: Fix bind QP error cleanup flow Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 023/157] RDMA/bnxt_re: Fix the page details for the srq created by kernel consumers Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 024/157] sunrpc: suppress warnings for unused procfs functions Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 025/157] ALSA: usb-audio: Avoid dropping MIDI events at closing multiple ports Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 026/157] Bluetooth: L2CAP: Fix L2CAP_ECRED_CONN_RSP response Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 027/157] rxrpc: rxperf: Fix missing decoding of terminal magic cookie Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 028/157] afs: Fix the server_list to unuse a displaced server rather than putting it Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 029/157] afs: Give an afs_server object a ref on the afs_cell object it points to Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 030/157] net: Add net_passive_inc() and net_passive_dec() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 031/157] net: better track kernel sockets lifetime Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 032/157] net: loopback: Avoid sending IP packets without an Ethernet header Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 033/157] net: set the minimum for net_hotdata.netdev_budget_usecs Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 034/157] ipvlan: ensure network headers are in skb linear part Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 035/157] net: cadence: macb: Synchronize stats calculations Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 036/157] net: dsa: rtl8366rb: Fix compilation problem Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 037/157] ASoC: es8328: fix route from DAC to output Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 038/157] ASoC: fsl: Rename stream name of SAI DAI driver Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 039/157] ipvs: Always clear ipvs_property flag in skb_scrub_packet() Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 040/157] drm/xe/oa: Allow oa_exponent value of 0 Greg Kroah-Hartman
2025-03-05 17:47 ` [PATCH 6.13 041/157] firmware: cs_dsp: Remove async regmap writes Greg Kroah-Hartman
2025-03-05 17:47 ` Greg Kroah-Hartman [this message]
2025-03-05 17:47 ` [PATCH 6.13 043/157] ALSA: hda/realtek: Fix wrong mic setup for ASUS VivoBook 15 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 044/157] drm/amdgpu/gfx: only call mes for enforce isolation if supported Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 045/157] drm/amdgpu/mes: keep enforce isolation up to date Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 046/157] drm/amd/display: restore edid reading from a given i2c adapter Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 047/157] net: ethernet: ti: am65-cpsw: select PAGE_POOL Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 048/157] tcp: devmem: dont write truncated dmabuf CMSGs to userspace Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 049/157] ice: Fix deinitializing VF in error path Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 050/157] ice: Avoid setting default Rx VSI twice in switchdev setup Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 051/157] tcp: Defer ts_recent changes until req is owned Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 052/157] drm/xe: cancel pending job timer before freeing scheduler Greg Kroah-Hartman
2025-03-06  4:28   ` Matthew Brost
2025-03-05 17:48 ` [PATCH 6.13 053/157] net: Clear old fragment checksum value in napi_reuse_skb Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 054/157] net: mvpp2: cls: Fixed Non IP flow, with vlan tag flow defination Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 055/157] net/mlx5: Fix vport QoS cleanup on error Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 056/157] net/mlx5: Restore missing trace event when enabling vport QoS Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 057/157] net/mlx5: IRQ, Fix null string in debug print Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 058/157] net: ipv6: fix dst ref loop on input in seg6 lwt Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 059/157] net: ipv6: fix dst ref loop on input in rpl lwt Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 060/157] selftests: drv-net: Check if combined-count exists Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 061/157] idpf: fix checksums set in idpf_rx_rsc() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 062/157] net: ti: icss-iep: Reject perout generation request Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 063/157] thermal: gov_power_allocator: Fix incorrect calculation in divvy_up_power() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 064/157] perf/core: Order the PMU list to fix warning about unordered pmu_ctx_list Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 065/157] uprobes: Reject the shared zeropage in uprobe_write_opcode() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 066/157] thermal/of: Fix cdev lookup in thermal_of_should_bind() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 067/157] thermal: gov_power_allocator: Update total_weight on bind and cdev updates Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 068/157] io_uring/net: save msg_control for compat Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 069/157] unreachable: Unify Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 070/157] objtool: Remove annotate_{,un}reachable() Greg Kroah-Hartman
2025-03-07 21:26   ` Nathan Chancellor
2025-03-09  9:26     ` Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 071/157] objtool: Fix C jump table annotations for Clang Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 072/157] x86/CPU: Fix warm boot hang regression on AMD SC1100 SoC systems Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 073/157] uprobes: Remove too strict lockdep_assert() condition in hprobe_expire() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 074/157] phy: rockchip: fix Kconfig dependency more Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 075/157] phy: rockchip: naneng-combphy: compatible reset with old DT Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 076/157] phy: stm32: Fix constant-value overflow assertion Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 077/157] riscv: KVM: Fix hart suspend status check Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 078/157] riscv: KVM: Fix hart suspend_type use Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 079/157] riscv: KVM: Fix SBI IPI error generation Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 080/157] riscv: KVM: Fix SBI TIME " Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 081/157] tracing: Fix bad hist from corrupting named_triggers list Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 082/157] ftrace: Avoid potential division by zero in function_stat_show() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 083/157] ALSA: usb-audio: Re-add sample rate quirk for Pioneer DJM-900NXS2 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 084/157] ALSA: hda/realtek: Fix microphone regression on ASUS N705UD Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 085/157] KVM: arm64: Ensure a VMID is allocated before programming VTTBR_EL2 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 086/157] perf/core: Add RCU read lock protection to perf_iterate_ctx() Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 087/157] perf/x86: Fix low freqency setting issue Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 088/157] perf/core: Fix low freq setting via IOC_PERIOD Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 089/157] drm/xe/regs: remove a duplicate definition for RING_CTL_SIZE(size) Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 090/157] drm/xe/userptr: restore invalidation list on error Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 091/157] drm/xe/userptr: fix EFAULT handling Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 092/157] drm/fbdev-dma: Add shadow buffering for deferred I/O Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 093/157] drm/amdkfd: Preserve cp_hqd_pq_control on update_mqd Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 094/157] drm/amdgpu: disable BAR resize on Dell G5 SE Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 095/157] drm/amdgpu: init return value in amdgpu_ttm_clear_buffer Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 096/157] drm/amd/display: Disable PSR-SU on eDP panels Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 097/157] drm/amd/display: add a quirk to enable eDP0 on DP1 Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 098/157] drm/amd/display: Fix HPD after gpu reset Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 099/157] arm64/mm: Fix Boot panic on Ampere Altra Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 100/157] arm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes Greg Kroah-Hartman
2025-03-06  8:07   ` Jiri Slaby
2025-03-06  8:08     ` Jiri Slaby
2025-03-06 11:49       ` Ryan Roberts
2025-03-06 11:57         ` Greg Kroah-Hartman
2025-03-06 12:03           ` Jiri Slaby
2025-03-06 12:59             ` Ryan Roberts
2025-03-06 12:59           ` Ryan Roberts
2025-03-05 17:48 ` [PATCH 6.13 101/157] arm64: hugetlb: Fix flush_hugetlb_tlb_range() invalidation level Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 102/157] block: Remove zone write plugs when handling native zone append writes Greg Kroah-Hartman
2025-03-05 17:48 ` [PATCH 6.13 103/157] btrfs: skip inodes without loaded extent maps when shrinking extent maps Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 104/157] btrfs: do regular iput instead of delayed iput during extent map shrinking Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 105/157] btrfs: fix use-after-free on inode when scanning root during em shrinking Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 106/157] btrfs: fix data overwriting bug during buffered write when block size < page size Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 107/157] i2c: npcm: disable interrupt enable bit before devm_request_irq Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 108/157] i2c: ls2x: Fix frequency division register access Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 109/157] i2c: amd-asf: Fix EOI register write to enable successive interrupts Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 110/157] usbnet: gl620a: fix endpoint checking in genelink_bind() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 111/157] net: stmmac: dwmac-loongson: Add fix_soc_reset() callback Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 112/157] net: phy: qcom: qca807x fix condition for DAC_DSP_BIAS_CURRENT Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 113/157] net: enetc: fix the off-by-one issue in enetc_map_tx_buffs() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 114/157] net: enetc: keep track of correct Tx BD count in enetc_map_tx_tso_buffs() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 115/157] net: enetc: VFs do not support HWTSTAMP_TX_ONESTEP_SYNC Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 116/157] net: enetc: update UDP checksum when updating originTimestamp field Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 117/157] net: enetc: correct the xdp_tx statistics Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 118/157] net: enetc: remove the mm_lock from the ENETC v4 driver Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 119/157] net: enetc: fix the off-by-one issue in enetc_map_tx_tso_buffs() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 120/157] net: enetc: add missing enetc4_link_deinit() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 121/157] phy: tegra: xusb: reset VBUS & ID OVERRIDE Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 122/157] phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 123/157] phy: exynos5-usbdrd: gs101: ensure power is gated to SS phy in phy_exit() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 124/157] gve: unlink old napi when stopping a queue using queue API Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 125/157] iommu/vt-d: Remove device comparison in context_setup_pass_through_cb Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 126/157] iommu/vt-d: Fix suspicious RCU usage Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 127/157] amdgpu/pm/legacy: fix suspend/resume issues Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 128/157] intel_idle: Handle older CPUs, which stop the TSC in deeper C states, correctly Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 129/157] mptcp: always handle address removal under msk socket lock Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 130/157] mptcp: reset when MPTCP opts are dropped after join Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 131/157] selftests/landlock: Test that MPTCP actions are not restricted Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 132/157] vmlinux.lds: Ensure that const vars with relocations are mapped R/O Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 133/157] rcuref: Plug slowpath race in rcuref_put() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 134/157] sched/core: Prevent rescheduling when interrupts are disabled Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 135/157] sched_ext: Fix pick_task_scx() picking non-queued tasks when its called without balance() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 136/157] selftests/landlock: Test TCP accesses with protocol=IPPROTO_TCP Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 137/157] fuse: revert back to __readahead_folio() for readahead Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 138/157] dm-integrity: Avoid divide by zero in table status in Inline mode Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 139/157] dm vdo: add missing spin_lock_init Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 140/157] ima: Reset IMA_NONACTION_RULE_FLAGS after post_setattr Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 141/157] scsi: ufs: core: bsg: Fix crash when arpmb command fails Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 142/157] rseq/selftests: Fix riscv rseq_offset_deref_addv inline asm Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 143/157] riscv/atomic: Do proper sign extension also for unsigned in arch_cmpxchg Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 144/157] riscv/futex: sign extend compare value in atomic cmpxchg Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 145/157] riscv: signal: fix signal frame size Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 146/157] riscv: cacheinfo: Use of_property_present() for non-boolean properties Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 147/157] riscv: signal: fix signal_minsigstksz Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 148/157] riscv: cpufeature: use bitmap_equal() instead of memcmp() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 149/157] efi: Dont map the entire mokvar table to determine its size Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 150/157] x86/microcode/AMD: Return bool from find_blobs_in_containers() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 151/157] x86/microcode/AMD: Have __apply_microcode_amd() return bool Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 152/157] x86/microcode/AMD: Remove ugly linebreak in __verify_patch_section() signature Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 153/157] x86/microcode/AMD: Remove unused save_microcode_in_initrd_amd() declarations Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 154/157] x86/microcode/AMD: Merge early_apply_microcode() into its single callsite Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 155/157] x86/microcode/AMD: Get rid of the _load_microcode_amd() forward declaration Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 156/157] x86/microcode/AMD: Add get_patch_level() Greg Kroah-Hartman
2025-03-05 17:49 ` [PATCH 6.13 157/157] x86/microcode/AMD: Load only SHA256-checksummed patches Greg Kroah-Hartman
2025-03-05 19:04 ` [PATCH 6.13 000/157] 6.13.6-rc1 review Ronald Warsow
2025-03-05 19:37   ` Pavel Machek
2025-03-05 20:12 ` Mark Brown
2025-03-06 14:21   ` Greg Kroah-Hartman
2025-03-06  1:11 ` SeongJae Park
2025-03-06  3:43 ` Peter Schneider
2025-03-06  8:03 ` Ron Economos
2025-03-06 12:21 ` Naresh Kamboju
2025-03-06 12:54 ` Takeshi Ogasawara
2025-03-06 15:53 ` Shuah Khan
2025-03-06 16:26 ` Hardik Garg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250305174506.990258358@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=broonie@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=rf@opensource.cirrus.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox