All of lore.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, Pratyush Yadav <pratyush@kernel.org>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 042/132] spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency
Date: Wed,  3 Dec 2025 16:28:41 +0100	[thread overview]
Message-ID: <20251203152344.854513198@linuxfoundation.org> (raw)
In-Reply-To: <20251203152343.285859633@linuxfoundation.org>

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

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

From: Miquel Raynal <miquel.raynal@bootlin.com>

[ Upstream commit 0fefeade90e74bc8f40ab0e460f483565c492e28 ]

In the spi subsystem, the bus frequency is derived as follows:
- the controller may expose a minimum and maximum operating frequency
- the hardware description, through the spi peripheral properties,
  advise what is the maximum acceptable frequency from a device/wiring
  point of view.
Transfers must be observed at a frequency which fits both (so in
practice, the lowest maximum).

Actually, this second point mixes two information and already takes the
lowest frequency among:
- what the spi device is capable of (what is written in the component
  datasheet)
- what the wiring allows (electromagnetic sensibility, crossovers,
  terminations, antenna effect, etc).

This logic works until spi devices are no longer capable of sustaining
their highest frequency regardless of the operation. Spi memories are
typically subject to such variation. Some devices are capable of
spitting their internally stored data (essentially in read mode) at a
very fast rate, typically up to 166MHz on Winbond SPI-NAND chips, using
"fast" commands. However, some of the low-end operations, such as
regular page read-from-cache commands, are more limited and can only be
executed at 54MHz at most. This is currently a problem in the SPI-NAND
subsystem. Another situation, even if not yet supported, will be with
DTR commands, when the data is latched on both edges of the clock. The
same chips as mentioned previously are in this case limited to
80MHz. Yet another example might be continuous reads, which, under
certain circumstances, can also run at most at 104 or 120MHz.

As a matter of fact, the "one frequency per chip" policy is outdated and
more fine grain configuration is needed: we need to allow per-operation
frequency limitations. So far, all datasheets I encountered advertise a
maximum default frequency, which need to be lowered for certain specific
operations. So based on the current infrastructure, we can still expect
firmware (device trees in general) to continued advertising the same
maximum speed which is a mix between the PCB limitations and the chip
maximum capability, and expect per-operation lower frequencies when this
is relevant.

Add a `struct spi_mem_op` member to carry this information. Not
providing this field explicitly from upper layers means that there is no
further constraint and the default spi device maximum speed will be
carried instead. The SPI_MEM_OP() macro is also expanded with an
optional frequency argument, because virtually all operations can be
subject to such a limitation, and this will allow for a smooth and
discrete transition.

For controller drivers which do not implement the spi-mem interface, the
per-transfer speed is also set acordingly to a lower (than the maximum
default) speed when relevant.

Acked-by: Pratyush Yadav <pratyush@kernel.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://patch.msgid.link/20241224-winbond-6-11-rc1-quad-support-v2-1-ad218dbc406f@bootlin.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Stable-dep-of: 40ad64ac25bb ("spi: nxp-fspi: Propagate fwnode in ACPI case as well")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/mtd/nand/spi/core.c |  2 ++
 drivers/spi/spi-mem.c       | 28 ++++++++++++++++++++++++++++
 include/linux/spi/spi-mem.h | 12 +++++++++++-
 3 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index c523a1a22c2b0..57b8807b19482 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -1217,6 +1217,8 @@ spinand_select_op_variant(struct spinand_device *spinand,
 			if (ret)
 				break;
 
+			spi_mem_adjust_op_freq(spinand->spimem, &op);
+
 			if (!spi_mem_supports_op(spinand->spimem, &op))
 				break;
 
diff --git a/drivers/spi/spi-mem.c b/drivers/spi/spi-mem.c
index abc6792e738c7..12299ce89a1cc 100644
--- a/drivers/spi/spi-mem.c
+++ b/drivers/spi/spi-mem.c
@@ -187,6 +187,10 @@ bool spi_mem_default_supports_op(struct spi_mem *mem,
 			return false;
 	}
 
+	if (op->max_freq && mem->spi->controller->min_speed_hz &&
+	    op->max_freq < mem->spi->controller->min_speed_hz)
+		return false;
+
 	return spi_mem_check_buswidth(mem, op);
 }
 EXPORT_SYMBOL_GPL(spi_mem_default_supports_op);
@@ -364,6 +368,9 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct spi_mem_op *op)
 	u8 *tmpbuf;
 	int ret;
 
+	/* Make sure the operation frequency is correct before going futher */
+	spi_mem_adjust_op_freq(mem, (struct spi_mem_op *)op);
+
 	ret = spi_mem_check_op(op);
 	if (ret)
 		return ret;
@@ -410,6 +417,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct spi_mem_op *op)
 	xfers[xferpos].tx_buf = tmpbuf;
 	xfers[xferpos].len = op->cmd.nbytes;
 	xfers[xferpos].tx_nbits = op->cmd.buswidth;
+	xfers[xferpos].speed_hz = op->max_freq;
 	spi_message_add_tail(&xfers[xferpos], &msg);
 	xferpos++;
 	totalxferlen++;
@@ -424,6 +432,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct spi_mem_op *op)
 		xfers[xferpos].tx_buf = tmpbuf + 1;
 		xfers[xferpos].len = op->addr.nbytes;
 		xfers[xferpos].tx_nbits = op->addr.buswidth;
+		xfers[xferpos].speed_hz = op->max_freq;
 		spi_message_add_tail(&xfers[xferpos], &msg);
 		xferpos++;
 		totalxferlen += op->addr.nbytes;
@@ -435,6 +444,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct spi_mem_op *op)
 		xfers[xferpos].len = op->dummy.nbytes;
 		xfers[xferpos].tx_nbits = op->dummy.buswidth;
 		xfers[xferpos].dummy_data = 1;
+		xfers[xferpos].speed_hz = op->max_freq;
 		spi_message_add_tail(&xfers[xferpos], &msg);
 		xferpos++;
 		totalxferlen += op->dummy.nbytes;
@@ -450,6 +460,7 @@ int spi_mem_exec_op(struct spi_mem *mem, const struct spi_mem_op *op)
 		}
 
 		xfers[xferpos].len = op->data.nbytes;
+		xfers[xferpos].speed_hz = op->max_freq;
 		spi_message_add_tail(&xfers[xferpos], &msg);
 		xferpos++;
 		totalxferlen += op->data.nbytes;
@@ -528,6 +539,23 @@ int spi_mem_adjust_op_size(struct spi_mem *mem, struct spi_mem_op *op)
 }
 EXPORT_SYMBOL_GPL(spi_mem_adjust_op_size);
 
+/**
+ * spi_mem_adjust_op_freq() - Adjust the frequency of a SPI mem operation to
+ *			      match controller, PCB and chip limitations
+ * @mem: the SPI memory
+ * @op: the operation to adjust
+ *
+ * Some chips have per-op frequency limitations and must adapt the maximum
+ * speed. This function allows SPI mem drivers to set @op->max_freq to the
+ * maximum supported value.
+ */
+void spi_mem_adjust_op_freq(struct spi_mem *mem, struct spi_mem_op *op)
+{
+	if (!op->max_freq || op->max_freq > mem->spi->max_speed_hz)
+		op->max_freq = mem->spi->max_speed_hz;
+}
+EXPORT_SYMBOL_GPL(spi_mem_adjust_op_freq);
+
 static ssize_t spi_mem_no_dirmap_read(struct spi_mem_dirmap_desc *desc,
 				      u64 offs, size_t len, void *buf)
 {
diff --git a/include/linux/spi/spi-mem.h b/include/linux/spi/spi-mem.h
index c46d2b8029be5..84ec524987921 100644
--- a/include/linux/spi/spi-mem.h
+++ b/include/linux/spi/spi-mem.h
@@ -68,6 +68,9 @@ enum spi_mem_data_dir {
 	SPI_MEM_DATA_OUT,
 };
 
+#define SPI_MEM_OP_MAX_FREQ(__freq)				\
+	.max_freq = __freq
+
 /**
  * struct spi_mem_op - describes a SPI memory operation
  * @cmd.nbytes: number of opcode bytes (only 1 or 2 are valid). The opcode is
@@ -97,6 +100,9 @@ enum spi_mem_data_dir {
  *		 operation does not involve transferring data
  * @data.buf.in: input buffer (must be DMA-able)
  * @data.buf.out: output buffer (must be DMA-able)
+ * @max_freq: frequency limitation wrt this operation. 0 means there is no
+ *	      specific constraint and the highest achievable frequency can be
+ *	      attempted.
  */
 struct spi_mem_op {
 	struct {
@@ -135,14 +141,17 @@ struct spi_mem_op {
 			const void *out;
 		} buf;
 	} data;
+
+	unsigned int max_freq;
 };
 
-#define SPI_MEM_OP(__cmd, __addr, __dummy, __data)		\
+#define SPI_MEM_OP(__cmd, __addr, __dummy, __data, ...)		\
 	{							\
 		.cmd = __cmd,					\
 		.addr = __addr,					\
 		.dummy = __dummy,				\
 		.data = __data,					\
+		__VA_ARGS__					\
 	}
 
 /**
@@ -371,6 +380,7 @@ bool spi_mem_default_supports_op(struct spi_mem *mem,
 #endif /* CONFIG_SPI_MEM */
 
 int spi_mem_adjust_op_size(struct spi_mem *mem, struct spi_mem_op *op);
+void spi_mem_adjust_op_freq(struct spi_mem *mem, struct spi_mem_op *op);
 
 bool spi_mem_supports_op(struct spi_mem *mem,
 			 const struct spi_mem_op *op);
-- 
2.51.0




  parent reply	other threads:[~2025-12-03 16:50 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-03 15:27 [PATCH 6.12 000/132] 6.12.61-rc1 review Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 001/132] can: kvaser_usb: leaf: Fix potential infinite loop in command parsers Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 002/132] can: gs_usb: gs_usb_xmit_callback(): fix handling of failed transmitted URBs Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 003/132] can: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing header Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 004/132] can: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing data Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 005/132] Bluetooth: btusb: mediatek: Fix kernel crash when releasing mtk iso interface Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 006/132] Bluetooth: hci_core: Fix triggering cmd_timer for HCI_OP_NOP Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 007/132] Bluetooth: hci_sock: Prevent race in socket write iter and sock bind Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 008/132] Bluetooth: SMP: Fix not generating mackey and ltk when repairing Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 009/132] net: sched: generalize check for no-queue qdisc on TX queue Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 010/132] veth: apply qdisc backpressure on full ptr_ring to reduce TX drops Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 011/132] veth: prevent NULL pointer dereference in veth_xdp_rcv Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 012/132] veth: more robust handing of race to avoid txq getting stuck Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 013/132] veth: reduce XDP no_direct return section to fix race Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 014/132] net: phy: mxl-gpy: fix bogus error on USXGMII and integrated PHY Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 015/132] platform/x86: intel: punit_ipc: fix memory corruption Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 016/132] net: aquantia: Add missing descriptor cache invalidation on ATL2 Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 017/132] net: lan966x: Fix the initialization of taprio Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 018/132] drm/xe: Fix conversion from clock ticks to milliseconds Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 019/132] net/mlx5e: Fix validation logic in rate limiting Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 020/132] team: Move team device type change at the end of team_port_add Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 021/132] net: sxgbe: fix potential NULL dereference in sxgbe_rx() Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 022/132] drm/amdgpu: fix cyan_skillfish2 gpu info fw handling Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 023/132] net: wwan: mhi: Keep modem name match with Foxconn T99W640 Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 024/132] net: dsa: sja1105: simplify static configuration reload Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 025/132] net: dsa: sja1105: fix SGMII linking at 10M or 100M but not passing traffic Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 026/132] eth: fbnic: Fix counter roll-over issue Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 027/132] net: atlantic: fix fragment overflow handling in RX path Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 028/132] net: fec: cancel perout_timer when PEROUT is disabled Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 029/132] net: fec: do not update PEROUT if it is enabled Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 030/132] net: fec: do not allow enabling PPS and PEROUT simultaneously Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 031/132] net: fec: do not register PPS event for PEROUT Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 032/132] iio: st_lsm6dsx: Fixed calibrated timestamp calculation Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 033/132] usb: gadget: renesas_usbf: Handle devm_pm_runtime_enable() errors Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 034/132] mailbox: mailbox-test: Fix debugfs_create_dir error checking Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 035/132] mailbox: mtk-cmdq: Refine DMA address handling for the command buffer Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 036/132] mailbox: pcc: Refactor error handling in irq handler into separate function Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 037/132] mailbox: pcc: dont zero error register Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 038/132] fs/namespace: fix reference leak in grab_requested_mnt_ns Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 039/132] spi: tegra114: remove Kconfig dependency on TEGRA20_APB_DMA Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 040/132] spi: amlogic-spifc-a1: Handle devm_pm_runtime_enable() errors Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 041/132] spi: spi-mem: Allow specifying the byte order in Octal DTR mode Greg Kroah-Hartman
2025-12-03 15:28 ` Greg Kroah-Hartman [this message]
2025-12-03 15:28 ` [PATCH 6.12 043/132] spi: spi-mem: Add a new controller capability Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 044/132] spi: nxp-fspi: Support per spi-mem operation frequency switches Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 045/132] spi: spi-nxp-fspi: remove the goto in probe Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 046/132] spi: spi-nxp-fspi: Add OCT-DTR mode support Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 047/132] spi: nxp-fspi: Propagate fwnode in ACPI case as well Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 048/132] spi: bcm63xx: fix premature CS deassertion on RX-only transactions Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 049/132] Revert "drm/amd/display: Move setup_stream_attribute" Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 050/132] Revert "perf/x86: Always store regs->ip in perf_callchain_kernel()" Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 051/132] iio: buffer-dma: support getting the DMA channel Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 052/132] iio: buffer-dmaengine: enable .get_dma_dev() Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 053/132] iio: buffer: support getting dma channel from the buffer Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 054/132] iio: humditiy: hdc3020: fix units for temperature and humidity measurement Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 055/132] iio: humditiy: hdc3020: fix units for thresholds and hysteresis Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 056/132] iio: imu: st_lsm6dsx: fix array size for st_lsm6dsx_settings fields Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 057/132] iio:common:ssp_sensors: Fix an error handling path ssp_probe() Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 058/132] iio: adc: stm32-dfsdm: fix st,adc-alt-channel property handling Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 059/132] iio: accel: bmc150: Fix irq assumption regression Greg Kroah-Hartman
2025-12-03 15:28 ` [PATCH 6.12 060/132] iio: accel: fix ADXL355 startup race condition Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 061/132] iio: adc: ad7280a: fix ad7280_store_balance_timer() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 062/132] iio: adc: rtq6056: Correct the sign bit index Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 063/132] MIPS: mm: Prevent a TLB shutdown on initial uniquification Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 064/132] MIPS: mm: kmalloc tlb_vpn array to avoid stack overflow Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 065/132] tracing: Fix WARN_ON in tracing_buffers_mmap_close for split VMAs Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 066/132] ALSA: usb-audio: Add DSD quirk for LEAK Stereo 230 Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 067/132] arm64: dts: imx8dxl-ss-conn: swap interrupts number of eqos Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 068/132] arm64: dts: imx8qm-mek: fix mux-controller select/enable-gpios polarity Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 069/132] ARM: dts: nxp: imx6ul: correct SAI3 interrupt line Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 070/132] atm/fore200e: Fix possible data race in fore200e_open() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 071/132] Bluetooth: btusb: mediatek: Avoid btusb_mtk_claim_iso_intf() NULL deref Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 072/132] can: sja1000: fix max irq loop handling Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 073/132] can: sun4i_can: sun4i_can_interrupt(): " Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 074/132] ceph: fix crash in process_v2_sparse_read() for encrypted directories Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 075/132] dm-verity: fix unreliable memory allocation Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 076/132] drivers/usb/dwc3: fix PCI parent check Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 077/132] smb: client: fix memory leak in cifs_construct_tcon() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 078/132] thunderbolt: Add support for Intel Wildcat Lake Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 079/132] slimbus: ngd: Fix reference count leak in qcom_slim_ngd_notify_slaves Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 080/132] nvmem: layouts: fix nvmem_layout_bus_uevent Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 081/132] firmware: stratix10-svc: fix bug in saving controller data Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 082/132] mm/memfd: fix information leak in hugetlb folios Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 083/132] mmc: sdhci-of-dwcmshc: Promote the th1520 reset handling to ip level Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 084/132] mptcp: clear scheduled subflows on retransmit Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 085/132] mptcp: Initialise rcv_mss before calling tcp_send_active_reset() in mptcp_do_fastclose() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 086/132] serial: amba-pl011: prefer dma_mapping_error() over explicit address checking Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 087/132] most: usb: fix double free on late probe failure Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 088/132] usb: cdns3: Fix double resource release in cdns3_pci_probe Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 089/132] usb: gadget: f_eem: Fix memory leak in eem_unwrap Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 090/132] usb: renesas_usbhs: Fix synchronous external abort on unbind Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 091/132] usb: storage: Fix memory leak in USB bulk transport Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 092/132] USB: storage: Remove subclass and protocol overrides from Novatek quirk Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 093/132] usb: storage: sddr55: Reject out-of-bound new_pba Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 094/132] usb: uas: fix urb unmapping issue when the uas device is remove during ongoing data transfer Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 095/132] usb: dwc3: pci: add support for the Intel Nova Lake -S Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 096/132] usb: dwc3: pci: Sort out the Intel device IDs Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 097/132] usb: dwc3: Fix race condition between concurrent dwc3_remove_requests() call paths Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 098/132] xhci: fix stale flag preventig URBs after link state error is cleared Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 099/132] xhci: dbgtty: Fix data corruption when transmitting data form DbC to host Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 100/132] xhci: dbgtty: fix device unregister Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 101/132] USB: serial: ftdi_sio: add support for u-blox EVK-M101 Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 102/132] USB: serial: option: add support for Rolling RW101R-GL Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 103/132] drm: sti: fix device leaks at component probe Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 104/132] drm/amdgpu: attach tlb fence to the PTs update Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 105/132] drm/amd/amdgpu: reserve vm invalidation engine for uni_mes Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 106/132] drm/amd/display: Check NULL before accessing Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 107/132] drm/amd/display: Dont change brightness for disabled connectors Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 108/132] net: dsa: microchip: common: Fix checks on irq_find_mapping() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 109/132] net: dsa: microchip: ptp: " Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 110/132] net: dsa: microchip: Dont free uninitialized ksz_irq Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 111/132] libceph: fix potential use-after-free in have_mon_and_osd_map() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 112/132] libceph: prevent potential out-of-bounds writes in handle_auth_session_key() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 113/132] libceph: replace BUG_ON with bounds check for map->max_osd Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 114/132] [PATCH v6.12] staging: rtl8712: Remove driver using deprecated API wext Greg Kroah-Hartman
2025-12-04 16:31   ` Barry K. Nathan
2025-12-04 16:43     ` Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 115/132] nfsd: Replace clamp_t in nfsd4_get_drc_mem() Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 116/132] usb: typec: ucsi: psy: Set max current to zero when disconnected Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 117/132] can: rcar_canfd: Fix CAN-FD mode as default Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 118/132] usb: udc: Add trace event for usb_gadget_set_state Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 119/132] usb: gadget: udc: fix use-after-free in usb_gadget_state_work Greg Kroah-Hartman
2025-12-03 15:29 ` [PATCH 6.12 120/132] mm/huge_memory: fix NULL pointer deference when splitting folio Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 121/132] KVM: SVM: Introduce svm_recalc_lbr_msr_intercepts() Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 122/132] KVM: nSVM: Always recalculate LBR MSR intercepts in svm_update_lbrv() Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 123/132] KVM: nSVM: Fix and simplify LBR virtualization handling with nested Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 124/132] KVM: SVM: Fix redundant updates of LBR MSR intercepts Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 125/132] net: dsa: microchip: Fix symetry in ksz_ptp_msg_irq_{setup/free}() Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 126/132] drm, fbcon, vga_switcheroo: Avoid race condition in fbcon setup Greg Kroah-Hartman
2025-12-03 17:15   ` Thomas Zimmermann
2025-12-03 15:30 ` [PATCH 6.12 127/132] net: dsa: microchip: Do not execute PTP driver code for unsupported switches Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 128/132] net: dsa: microchip: Free previously initialized ports on init failures Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 129/132] wifi: ath12k: correctly handle mcast packets for clients Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 130/132] Revert "ACPI: Suppress misleading SPCR console message when SPCR table is absent" Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 131/132] drm/i915/dp: Initialize the source OUI write timestamp always Greg Kroah-Hartman
2025-12-03 15:30 ` [PATCH 6.12 132/132] spi: spi-nxp-fspi: Check return value of devm_mutex_init() Greg Kroah-Hartman
2025-12-03 18:10 ` [PATCH 6.12 000/132] 6.12.61-rc1 review Florian Fainelli
2025-12-03 23:13 ` Hardik Garg
2025-12-03 23:47 ` Shuah Khan
2025-12-04  8:06 ` Peter Schneider
2025-12-04  8:50 ` Jeffrin Thalakkottoor
2025-12-04 10:00 ` Jon Hunter
2025-12-04 10:33 ` Ron Economos
2025-12-04 11:33 ` Mark Brown
2025-12-04 12:19 ` Dileep malepu
2025-12-04 15:18 ` Brett Mastbergen
2025-12-04 15:30 ` Harshit Mogalapalli
2025-12-04 18:00 ` Naresh Kamboju
2025-12-05  9:20 ` Miguel Ojeda
2025-12-05 10:56 ` Brett A C Sheffield
2025-12-05 12:35 ` Pavel Machek

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=20251203152344.854513198@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=broonie@kernel.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=patches@lists.linux.dev \
    --cc=pratyush@kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.