public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Da Xue <da@libre.computer>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Mark Brown <broonie@kernel.org>
Subject: [PATCH 5.10 079/158] spi: meson-spicc: add local pow2 clock ops to preserve rate between messages
Date: Tue, 23 Aug 2022 10:26:51 +0200	[thread overview]
Message-ID: <20220823080049.238382310@linuxfoundation.org> (raw)
In-Reply-To: <20220823080046.056825146@linuxfoundation.org>

From: Neil Armstrong <narmstrong@baylibre.com>

commit 09992025dacd258c823f50e82db09d7ef06cdac4 upstream.

At the end of a message, the HW gets a reset in meson_spicc_unprepare_transfer(),
this resets the SPICC_CONREG register and notably the value set by the
Common Clock Framework.

This is problematic because:
- the register value CCF can be different from the corresponding CCF cached rate
- CCF is allowed to change the clock rate whenever the HW state

This introduces:
- local pow2 clock ops checking the HW state before allowing a clock operation
- separation of legacy pow2 clock patch and new enhanced clock path
- SPICC_CONREG datarate value is now value kepts across messages

It has been checked that:
- SPICC_CONREG datarate value is kept across messages
- CCF is only allowed to change the SPICC_CONREG datarate value when busy
- SPICC_CONREG datarate value is correct for each transfer

This didn't appear before commit 3e0cf4d3fc29 ("spi: meson-spicc: add a linear clock divider support")
because we recalculated and wrote the rate for each xfer.

Fixes: 3e0cf4d3fc29 ("spi: meson-spicc: add a linear clock divider support")
Reported-by: Da Xue <da@libre.computer>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20220811134445.678446-1-narmstrong@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/spi/spi-meson-spicc.c |  129 ++++++++++++++++++++++++++++++++----------
 1 file changed, 101 insertions(+), 28 deletions(-)

--- a/drivers/spi/spi-meson-spicc.c
+++ b/drivers/spi/spi-meson-spicc.c
@@ -156,6 +156,7 @@ struct meson_spicc_device {
 	void __iomem			*base;
 	struct clk			*core;
 	struct clk			*pclk;
+	struct clk_divider		pow2_div;
 	struct clk			*clk;
 	struct spi_message		*message;
 	struct spi_transfer		*xfer;
@@ -168,6 +169,8 @@ struct meson_spicc_device {
 	unsigned long			xfer_remain;
 };
 
+#define pow2_clk_to_spicc(_div) container_of(_div, struct meson_spicc_device, pow2_div)
+
 static void meson_spicc_oen_enable(struct meson_spicc_device *spicc)
 {
 	u32 conf;
@@ -421,7 +424,7 @@ static int meson_spicc_prepare_message(s
 {
 	struct meson_spicc_device *spicc = spi_master_get_devdata(master);
 	struct spi_device *spi = message->spi;
-	u32 conf = 0;
+	u32 conf = readl_relaxed(spicc->base + SPICC_CONREG) & SPICC_DATARATE_MASK;
 
 	/* Store current message */
 	spicc->message = message;
@@ -458,8 +461,6 @@ static int meson_spicc_prepare_message(s
 	/* Select CS */
 	conf |= FIELD_PREP(SPICC_CS_MASK, spi->chip_select);
 
-	/* Default Clock rate core/4 */
-
 	/* Default 8bit word */
 	conf |= FIELD_PREP(SPICC_BITLENGTH_MASK, 8 - 1);
 
@@ -476,12 +477,16 @@ static int meson_spicc_prepare_message(s
 static int meson_spicc_unprepare_transfer(struct spi_master *master)
 {
 	struct meson_spicc_device *spicc = spi_master_get_devdata(master);
+	u32 conf = readl_relaxed(spicc->base + SPICC_CONREG) & SPICC_DATARATE_MASK;
 
 	/* Disable all IRQs */
 	writel(0, spicc->base + SPICC_INTREG);
 
 	device_reset_optional(&spicc->pdev->dev);
 
+	/* Set default configuration, keeping datarate field */
+	writel_relaxed(conf, spicc->base + SPICC_CONREG);
+
 	return 0;
 }
 
@@ -518,14 +523,60 @@ static void meson_spicc_cleanup(struct s
  * Clk path for G12A series:
  *    pclk -> pow2 fixed div -> pow2 div -> mux -> out
  *    pclk -> enh fixed div -> enh div -> mux -> out
+ *
+ * The pow2 divider is tied to the controller HW state, and the
+ * divider is only valid when the controller is initialized.
+ *
+ * A set of clock ops is added to make sure we don't read/set this
+ * clock rate while the controller is in an unknown state.
  */
 
-static int meson_spicc_clk_init(struct meson_spicc_device *spicc)
+static unsigned long meson_spicc_pow2_recalc_rate(struct clk_hw *hw,
+						  unsigned long parent_rate)
+{
+	struct clk_divider *divider = to_clk_divider(hw);
+	struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider);
+
+	if (!spicc->master->cur_msg || !spicc->master->busy)
+		return 0;
+
+	return clk_divider_ops.recalc_rate(hw, parent_rate);
+}
+
+static int meson_spicc_pow2_determine_rate(struct clk_hw *hw,
+					   struct clk_rate_request *req)
+{
+	struct clk_divider *divider = to_clk_divider(hw);
+	struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider);
+
+	if (!spicc->master->cur_msg || !spicc->master->busy)
+		return -EINVAL;
+
+	return clk_divider_ops.determine_rate(hw, req);
+}
+
+static int meson_spicc_pow2_set_rate(struct clk_hw *hw, unsigned long rate,
+				     unsigned long parent_rate)
+{
+	struct clk_divider *divider = to_clk_divider(hw);
+	struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider);
+
+	if (!spicc->master->cur_msg || !spicc->master->busy)
+		return -EINVAL;
+
+	return clk_divider_ops.set_rate(hw, rate, parent_rate);
+}
+
+const struct clk_ops meson_spicc_pow2_clk_ops = {
+	.recalc_rate = meson_spicc_pow2_recalc_rate,
+	.determine_rate = meson_spicc_pow2_determine_rate,
+	.set_rate = meson_spicc_pow2_set_rate,
+};
+
+static int meson_spicc_pow2_clk_init(struct meson_spicc_device *spicc)
 {
 	struct device *dev = &spicc->pdev->dev;
-	struct clk_fixed_factor *pow2_fixed_div, *enh_fixed_div;
-	struct clk_divider *pow2_div, *enh_div;
-	struct clk_mux *mux;
+	struct clk_fixed_factor *pow2_fixed_div;
 	struct clk_init_data init;
 	struct clk *clk;
 	struct clk_parent_data parent_data[2];
@@ -560,31 +611,45 @@ static int meson_spicc_clk_init(struct m
 	if (WARN_ON(IS_ERR(clk)))
 		return PTR_ERR(clk);
 
-	pow2_div = devm_kzalloc(dev, sizeof(*pow2_div), GFP_KERNEL);
-	if (!pow2_div)
-		return -ENOMEM;
-
 	snprintf(name, sizeof(name), "%s#pow2_div", dev_name(dev));
 	init.name = name;
-	init.ops = &clk_divider_ops;
-	init.flags = CLK_SET_RATE_PARENT;
+	init.ops = &meson_spicc_pow2_clk_ops;
+	/*
+	 * Set NOCACHE here to make sure we read the actual HW value
+	 * since we reset the HW after each transfer.
+	 */
+	init.flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE;
 	parent_data[0].hw = &pow2_fixed_div->hw;
 	init.num_parents = 1;
 
-	pow2_div->shift = 16,
-	pow2_div->width = 3,
-	pow2_div->flags = CLK_DIVIDER_POWER_OF_TWO,
-	pow2_div->reg = spicc->base + SPICC_CONREG;
-	pow2_div->hw.init = &init;
+	spicc->pow2_div.shift = 16,
+	spicc->pow2_div.width = 3,
+	spicc->pow2_div.flags = CLK_DIVIDER_POWER_OF_TWO,
+	spicc->pow2_div.reg = spicc->base + SPICC_CONREG;
+	spicc->pow2_div.hw.init = &init;
 
-	clk = devm_clk_register(dev, &pow2_div->hw);
-	if (WARN_ON(IS_ERR(clk)))
-		return PTR_ERR(clk);
+	spicc->clk = devm_clk_register(dev, &spicc->pow2_div.hw);
+	if (WARN_ON(IS_ERR(spicc->clk)))
+		return PTR_ERR(spicc->clk);
 
-	if (!spicc->data->has_enhance_clk_div) {
-		spicc->clk = clk;
-		return 0;
-	}
+	return 0;
+}
+
+static int meson_spicc_enh_clk_init(struct meson_spicc_device *spicc)
+{
+	struct device *dev = &spicc->pdev->dev;
+	struct clk_fixed_factor *enh_fixed_div;
+	struct clk_divider *enh_div;
+	struct clk_mux *mux;
+	struct clk_init_data init;
+	struct clk *clk;
+	struct clk_parent_data parent_data[2];
+	char name[64];
+
+	memset(&init, 0, sizeof(init));
+	memset(&parent_data, 0, sizeof(parent_data));
+
+	init.parent_data = parent_data;
 
 	/* algorithm for enh div: rate = freq / 2 / (N + 1) */
 
@@ -637,7 +702,7 @@ static int meson_spicc_clk_init(struct m
 	snprintf(name, sizeof(name), "%s#sel", dev_name(dev));
 	init.name = name;
 	init.ops = &clk_mux_ops;
-	parent_data[0].hw = &pow2_div->hw;
+	parent_data[0].hw = &spicc->pow2_div.hw;
 	parent_data[1].hw = &enh_div->hw;
 	init.num_parents = 2;
 	init.flags = CLK_SET_RATE_PARENT;
@@ -754,12 +819,20 @@ static int meson_spicc_probe(struct plat
 
 	meson_spicc_oen_enable(spicc);
 
-	ret = meson_spicc_clk_init(spicc);
+	ret = meson_spicc_pow2_clk_init(spicc);
 	if (ret) {
-		dev_err(&pdev->dev, "clock registration failed\n");
+		dev_err(&pdev->dev, "pow2 clock registration failed\n");
 		goto out_clk;
 	}
 
+	if (spicc->data->has_enhance_clk_div) {
+		ret = meson_spicc_enh_clk_init(spicc);
+		if (ret) {
+			dev_err(&pdev->dev, "clock registration failed\n");
+			goto out_clk;
+		}
+	}
+
 	ret = devm_spi_register_master(&pdev->dev, master);
 	if (ret) {
 		dev_err(&pdev->dev, "spi master registration failed\n");



  parent reply	other threads:[~2022-08-23 12:19 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-23  8:25 [PATCH 5.10 000/158] 5.10.138-rc1 review Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 001/158] ALSA: info: Fix llseek return value when using callback Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 002/158] ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 003/158] x86/mm: Use proper mask when setting PUD mapping Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 004/158] rds: add missing barrier to release_refill Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 005/158] ata: libata-eh: Add missing command name Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 006/158] mmc: pxamci: Fix another error handling path in pxamci_probe() Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 007/158] mmc: pxamci: Fix an " Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 008/158] mmc: meson-gx: Fix an error handling path in meson_mmc_probe() Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 009/158] btrfs: fix lost error handling when looking up extended ref on log replay Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 010/158] tracing: Have filter accept "common_cpu" to be consistent Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 011/158] ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 012/158] can: ems_usb: fix clangs -Wunaligned-access warning Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 013/158] apparmor: fix quiet_denied for file rules Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 014/158] apparmor: fix absroot causing audited secids to begin with = Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 015/158] apparmor: Fix failed mount permission check error message Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 016/158] apparmor: fix aa_label_asxprint return check Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 017/158] apparmor: fix setting unconfined mode on a loaded profile Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 018/158] apparmor: fix overlapping attachment computation Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 019/158] apparmor: fix reference count leak in aa_pivotroot() Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 020/158] apparmor: Fix memleak in aa_simple_write_to_buffer() Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 021/158] Documentation: ACPI: EINJ: Fix obsolete example Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 022/158] NFSv4.1: Dont decrease the value of seq_nr_highest_sent Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 023/158] NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 024/158] NFSv4: Fix races in the legacy idmapper upcall Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 025/158] NFSv4.1: RECLAIM_COMPLETE must handle EACCES Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 026/158] NFSv4/pnfs: Fix a use-after-free bug in open Greg Kroah-Hartman
2022-08-23  8:25 ` [PATCH 5.10 027/158] bpf: Acquire map uref in .init_seq_private for array map iterator Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 028/158] bpf: Acquire map uref in .init_seq_private for hash " Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 029/158] bpf: Acquire map uref in .init_seq_private for sock local storage " Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 030/158] bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 031/158] bpf: Check the validity of max_rdwr_access for sock local storage map iterator Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 032/158] can: mcp251x: Fix race condition on receive interrupt Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 033/158] net: atlantic: fix aq_vec index out of range error Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 034/158] sunrpc: fix expiry of auth creds Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 035/158] SUNRPC: Reinitialise the backchannel request buffers before reuse Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 036/158] virtio_net: fix memory leak inside XPD_TX with mergeable Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 037/158] devlink: Fix use-after-free after a failed reload Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 038/158] net: bgmac: Fix a BUG triggered by wrong bytes_compl Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 039/158] pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 040/158] pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 041/158] pinctrl: sunxi: Add I/O bias setting for H6 R-PIO Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 042/158] pinctrl: qcom: sm8250: Fix PDC map Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 043/158] um: Add missing apply_returns() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 044/158] ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 045/158] geneve: do not use RT_TOS for IPv6 flowlabel Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 046/158] ipv6: " Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 047/158] plip: avoid rcu debug splat Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 048/158] vsock: Fix memory leak in vsock_connect() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 049/158] vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 050/158] dt-bindings: arm: qcom: fix MSM8916 MTP compatibles Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 051/158] dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 052/158] ceph: use correct index when encoding client supported features Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 053/158] tools/vm/slabinfo: use alphabetic order when two values are equal Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 054/158] ceph: dont leak snap_rwsem in handle_cap_grant Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 055/158] kbuild: dummy-tools: avoid tmpdir leak in dummy gcc Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 056/158] tools build: Switch to new openssl API for test-libcrypto Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 057/158] NTB: ntb_tool: uninitialized heap data in tool_fn_write() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 058/158] nfp: ethtool: fix the display error of `ethtool -m DEVNAME` Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 059/158] xen/xenbus: fix return type in xenbus_file_read() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 060/158] atm: idt77252: fix use-after-free bugs caused by tst_timer Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 061/158] geneve: fix TOS inheriting for ipv4 Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 062/158] perf probe: Fix an error handling path in parse_perf_probe_command() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 063/158] dpaa2-eth: trace the allocated address instead of page struct Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 064/158] nios2: page fault et.al. are *not* restartable syscalls Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 065/158] nios2: dont leave NULLs in sys_call_table[] Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 066/158] nios2: traced syscall does need to check the syscall number Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 067/158] nios2: fix syscall restart checks Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 068/158] nios2: restarts apply only to the first sigframe we build Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 069/158] nios2: add force_successful_syscall_return() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 070/158] iavf: Fix adminq error handling Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 071/158] ASoC: tas2770: Set correct FSYNC polarity Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 072/158] ASoC: tas2770: Allow mono streams Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 073/158] ASoC: tas2770: Drop conflicting set_bias_level power setting Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 074/158] ASoC: tas2770: Fix handling of mute/unmute Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 075/158] netfilter: nf_tables: really skip inactive sets when allocating name Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 076/158] netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 077/158] netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 078/158] powerpc/pci: Fix get_phb_number() locking Greg Kroah-Hartman
2022-08-23  8:26 ` Greg Kroah-Hartman [this message]
2022-08-23  8:26 ` [PATCH 5.10 080/158] net: dsa: mv88e6060: prevent crash on an unused port Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 081/158] net: moxa: pass pdev instead of ndev to DMA functions Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 082/158] net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 083/158] net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 084/158] net: genl: fix error path memory leak in policy dumping Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 085/158] net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions() Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 086/158] ice: Ignore EEXIST when setting promisc mode Greg Kroah-Hartman
2022-08-23  8:26 ` [PATCH 5.10 087/158] i2c: imx: Make sure to unregister adapter on remove() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 088/158] regulator: pca9450: Remove restrictions for regulator-name Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 089/158] i40e: Fix to stop tx_timeout recovery if GLOBR fails Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 090/158] fec: Fix timer capture timing in `fec_ptp_enable_pps()` Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 091/158] stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 092/158] igb: Add lock to avoid data race Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 093/158] kbuild: fix the modules order between drivers and libs Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 094/158] gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 095/158] locking/atomic: Make test_and_*_bit() ordered on failure Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 096/158] ASoC: SOF: intel: move sof_intel_dsp_desc() forward Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 097/158] drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 098/158] audit: log nftables configuration change events once per table Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 099/158] netfilter: nftables: add helper function to set the base sequence number Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 100/158] netfilter: add helper function to set up the nfnetlink header and use it Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 101/158] drm/sun4i: dsi: Prevent underflow when computing packet sizes Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 102/158] PCI: Add ACS quirk for Broadcom BCM5750x NICs Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 103/158] platform/chrome: cros_ec_proto: dont show MKBP version if unsupported Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 104/158] usb: cdns3 fix use-after-free at workaround 2 Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 105/158] usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 106/158] irqchip/tegra: Fix overflow implicit truncation warnings Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 107/158] drm/meson: " Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 108/158] clk: ti: Stop using legacy clkctrl names for omap4 and 5 Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 109/158] usb: host: ohci-ppc-of: Fix refcount leak bug Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 110/158] usb: renesas: " Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 111/158] usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 112/158] vboxguest: Do not use devm for irq Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 113/158] clk: qcom: ipq8074: dont disable gcc_sleep_clk_src Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 114/158] uacce: Handle parent device removal or parent driver module rmmod Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 115/158] zram: do not lookup algorithm in backends table Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 116/158] clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 117/158] scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 118/158] gadgetfs: ep_io - wait until IRQ finishes Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 119/158] pinctrl: intel: Check against matching data instead of ACPI companion Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 120/158] cxl: Fix a memory leak in an error handling path Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 121/158] PCI/ACPI: Guard ARM64-specific mcfg_quirks Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 122/158] um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 123/158] RDMA/rxe: Limit the number of calls to each tasklet Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 124/158] csky/kprobe: reclaim insn_slot on kprobe unregistration Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 125/158] selftests/kprobe: Do not test for GRP/ without event failures Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 126/158] dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 127/158] md: Notify sysfs sync_completed in md_reap_sync_thread() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 128/158] nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 129/158] drivers:md:fix a potential use-after-free bug Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 130/158] ext4: avoid remove directory when directory is corrupted Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 131/158] ext4: avoid resizing to a partial cluster size Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 132/158] lib/list_debug.c: Detect uninitialized lists Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 133/158] tty: serial: Fix refcount leak bug in ucc_uart.c Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 134/158] vfio: Clear the caps->buf to NULL after free Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 135/158] mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 136/158] modules: Ensure natural alignment for .altinstructions and __bug_table sections Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 137/158] riscv: dts: sifive: Add fu540 topology information Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 138/158] riscv: mmap with PROT_WRITE but no PROT_READ is invalid Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 139/158] RISC-V: Add fast call path of crash_kexec() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 140/158] watchdog: export lockup_detector_reconfigure Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 141/158] powerpc/32: Dont always pass -mcpu=powerpc to the compiler Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 142/158] ALSA: core: Add async signal helpers Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 143/158] ALSA: timer: Use deferred fasync helper Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 144/158] ALSA: control: " Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 145/158] f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 146/158] f2fs: fix to do sanity check on segment type in build_sit_entries() Greg Kroah-Hartman
2022-08-23  8:27 ` [PATCH 5.10 147/158] smb3: check xattr value length earlier Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 148/158] powerpc/64: Init jump labels before parse_early_param() Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 149/158] video: fbdev: i740fb: Check the argument of i740_calc_vclk() Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 150/158] MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0 Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 151/158] netfilter: nftables: fix a warning message in nf_tables_commit_audit_collect() Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 152/158] netfilter: nf_tables: fix audit memory leak in nf_tables_commit Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 153/158] tracing/probes: Have kprobes and uprobes use $COMM too Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 154/158] can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once() Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 155/158] can: j1939: j1939_session_destroy(): fix memory leak of skbs Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 156/158] PCI/ERR: Retain status from error notification Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 157/158] qrtr: Convert qrtr_ports from IDR to XArray Greg Kroah-Hartman
2022-08-23  8:28 ` [PATCH 5.10 158/158] bpf: Fix KASAN use-after-free Read in compute_effective_progs Greg Kroah-Hartman

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=20220823080049.238382310@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=broonie@kernel.org \
    --cc=da@libre.computer \
    --cc=linux-kernel@vger.kernel.org \
    --cc=narmstrong@baylibre.com \
    --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