stable.vger.kernel.org archive mirror
 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, Douglas Anderson <dianders@chromium.org>,
	Stephen Boyd <swboyd@chromium.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.0 135/240] pinctrl: qcom: Avoid glitching lines when we first mux to output
Date: Wed,  2 Nov 2022 03:31:50 +0100	[thread overview]
Message-ID: <20221102022114.432970573@linuxfoundation.org> (raw)
In-Reply-To: <20221102022111.398283374@linuxfoundation.org>

From: Douglas Anderson <dianders@chromium.org>

[ Upstream commit d21f4b7ffc22c009da925046b69b15af08de9d75 ]

Back in the description of commit e440e30e26dd ("arm64: dts: qcom:
sc7180: Avoid glitching SPI CS at bootup on trogdor") we described a
problem that we were seeing on trogdor devices. I'll re-summarize here
but you can also re-read the original commit.

On trogdor devices, the BIOS is setting up the SPI chip select as:
- mux special function (SPI chip select)
- output enable
- output low (unused because we've muxed as special function)

In the kernel, however, we've moved away from using the chip select
line as special function. Since the kernel wants to fully control the
chip select it's far more efficient to treat the line as a GPIO rather
than sending packet-like commands to the GENI firmware every time we
want the line to toggle.

When we transition from how the BIOS had the pin configured to how the
kernel has the pin configured we end up glitching the line. That's
because we _first_ change the mux of the line and then later set its
output. This glitch is bad and can confuse the device on the other end
of the line.

The old commit e440e30e26dd ("arm64: dts: qcom: sc7180: Avoid
glitching SPI CS at bootup on trogdor") fixed the glitch, though the
solution was far from elegant. It essentially did the thing that
everyone always hates: encoding a sequential program in device tree,
even if it's a simple one. It also, unfortunately, got broken by
commit b991f8c3622c ("pinctrl: core: Handling pinmux and pinconf
separately"). After that commit we did all the muxing _first_ even
though the config (set the pin to output high) was listed first. :(

I looked at ideas for how to solve this more properly. My first
thought was to use the "init" pinctrl state. In theory the "init"
pinctrl state is supposed to be exactly for achieving glitch-free
transitions. My dream would have been for the "init" pinctrl to do
nothing at all. That would let us delay the automatic pin muxing until
the driver could set things up and call pinctrl_init_done(). In other
words, my dream was:

  /* Request the GPIO; init it 1 (because DT says GPIO_ACTIVE_LOW) */
  devm_gpiod_get_index(dev, "cs", GPIOD_OUT_LOW);
  /* Output should be right, so we can remux, yay! */
  pinctrl_init_done(dev);

Unfortunately, it didn't work out. The primary reason is that the MSM
GPIO driver implements gpio_request_enable(). As documented in
pinmux.h, that function automatically remuxes a line as a GPIO. ...and
it does this remuxing _before_ specifying the output of the pin. You
can see in gpiod_get_index() that we call gpiod_request() before
gpiod_configure_flags(). gpiod_request() isn't passed any flags so it
has no idea what the eventual output will be.

We could have debates about whether or not the automatic remuxing to
GPIO for the MSM pinctrl was a good idea or not, but at this point I
think there is a plethora of code that's relying on it and I certainly
wouldn't suggest changing it.

Alternatively, we could try to come up with a way to pass the initial
output state to gpio_request_enable() and plumb all that through. That
seems like it would be doable, but we'd have to plumb it through
several layers in the stack.

This patch implements yet another alternative. Here, we specifically
avoid glitching the first time a pin is muxed to GPIO function if the
direction of the pin is output. The idea is that we can read the state
of the pin before we set the mux and make sure that the re-mux won't
change the state.

NOTES:
- We only do this the first time since later swaps between mux states
  might want to preserve the old output value. In other words, I
  wouldn't want to break a driver that did:
     gpiod_set_value(g, 1);
     pinctrl_select_state(pinctrl, special_state);
     pinctrl_select_default_state();
     /* We should be driving 1 even if "special_state" made the pin 0 */
- It's safe to do this the first time since the driver _couldn't_ have
  explicitly set a state. In order to even be able to control the GPIO
  (at least using gpiod) we have to have requested it which would have
  counted as the first mux.
- In theory, instead of keeping track of the first time a pin was set
  as a GPIO we could enable the glitch-free behavior only when
  msm_pinmux_request_gpio() is in the callchain. That works an enables
  my "dream" implementation above where we use an "init" state to
  solve this. However, it's nice not to have to do this. By handling
  just the first transition to GPIO we can simply let the normal
  "default" remuxing happen and we can be assured that there won't be
  a glitch.

Before this change I could see the glitch reported on the EC console
when booting. It would say this when booting the kernel:
  Unexpected state 1 in CSNRE ISR

After this change there is no error reported.

Note that I haven't reproduced the original problem described in
e440e30e26dd ("arm64: dts: qcom: sc7180: Avoid glitching SPI CS at
bootup on trogdor") but I could believe it might happen in certain
timing conditions.

Fixes: b991f8c3622c ("pinctrl: core: Handling pinmux and pinconf separately")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/20221014103217.1.I656bb2c976ed626e5d37294eb252c1cf3be769dc@changeid
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/pinctrl/qcom/pinctrl-msm.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index a2abfe987ab1..8bf8b21954fe 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -51,6 +51,7 @@
  *                  detection.
  * @skip_wake_irqs: Skip IRQs that are handled by wakeup interrupt controller
  * @disabled_for_mux: These IRQs were disabled because we muxed away.
+ * @ever_gpio:      This bit is set the first time we mux a pin to gpio_func.
  * @soc:            Reference to soc_data of platform specific data.
  * @regs:           Base addresses for the TLMM tiles.
  * @phys_base:      Physical base address
@@ -72,6 +73,7 @@ struct msm_pinctrl {
 	DECLARE_BITMAP(enabled_irqs, MAX_NR_GPIO);
 	DECLARE_BITMAP(skip_wake_irqs, MAX_NR_GPIO);
 	DECLARE_BITMAP(disabled_for_mux, MAX_NR_GPIO);
+	DECLARE_BITMAP(ever_gpio, MAX_NR_GPIO);
 
 	const struct msm_pinctrl_soc_data *soc;
 	void __iomem *regs[MAX_NR_TILES];
@@ -218,6 +220,25 @@ static int msm_pinmux_set_mux(struct pinctrl_dev *pctldev,
 
 	val = msm_readl_ctl(pctrl, g);
 
+	/*
+	 * If this is the first time muxing to GPIO and the direction is
+	 * output, make sure that we're not going to be glitching the pin
+	 * by reading the current state of the pin and setting it as the
+	 * output.
+	 */
+	if (i == gpio_func && (val & BIT(g->oe_bit)) &&
+	    !test_and_set_bit(group, pctrl->ever_gpio)) {
+		u32 io_val = msm_readl_io(pctrl, g);
+
+		if (io_val & BIT(g->in_bit)) {
+			if (!(io_val & BIT(g->out_bit)))
+				msm_writel_io(io_val | BIT(g->out_bit), pctrl, g);
+		} else {
+			if (io_val & BIT(g->out_bit))
+				msm_writel_io(io_val & ~BIT(g->out_bit), pctrl, g);
+		}
+	}
+
 	if (egpio_func && i == egpio_func) {
 		if (val & BIT(g->egpio_present))
 			val &= ~BIT(g->egpio_enable);
-- 
2.35.1




  parent reply	other threads:[~2022-11-02  2:47 UTC|newest]

Thread overview: 251+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-02  2:29 [PATCH 6.0 000/240] 6.0.7-rc1 review Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 001/240] platform/x86/amd: pmc: remove CONFIG_DEBUG_FS checks Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 002/240] can: j1939: transport: j1939_session_skb_drop_old(): spin_unlock_irqrestore() before kfree_skb() Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 003/240] can: kvaser_usb: Fix possible completions during init_completion Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 004/240] can: rcar_canfd: rcar_canfd_handle_global_receive(): fix IRQ storm on global FIFO receive Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 005/240] can: rcar_canfd: fix channel specific IRQ handling for RZ/G2L Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 006/240] ALSA: Use del_timer_sync() before freeing timer Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 007/240] ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 008/240] ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 009/240] ALSA: hda/realtek: Add another HP ZBook G9 model quirks Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 010/240] ALSA: control: add snd_ctl_rename() Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 011/240] ALSA: hda/realtek: Use snd_ctl_rename() to rename a control Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 012/240] ALSA: emu10k1: " Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 013/240] ALSA: ac97: " Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 014/240] ALSA: usb-audio: " Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 015/240] ALSA: ca0106: " Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 016/240] ALSA: au88x0: use explicitly signed char Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 017/240] ALSA: rme9652: " Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 018/240] USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 019/240] usb: gadget: uvc: limit isoc_sg to super speed gadgets Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 020/240] Revert "usb: gadget: uvc: limit isoc_sg to super speed gadgets" Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 021/240] usb: gadget: uvc: fix dropped frame after missed isoc Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 022/240] usb: gadget: uvc: fix sg handling in error case Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 023/240] usb: gadget: uvc: fix sg handling during video encode Greg Kroah-Hartman
2022-11-02  2:29 ` [PATCH 6.0 024/240] usb: gadget: aspeed: Fix probe regression Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 025/240] usb: dwc3: gadget: Stop processing more requests on IMI Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 026/240] usb: dwc3: gadget: Dont set IMI for no_interrupt Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 027/240] usb: dwc3: gadget: Force sending delayed status during soft disconnect Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 028/240] usb: dwc3: gadget: Dont delay End Transfer on delayed_status Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 029/240] usb: typec: ucsi: Check the connection on resume Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 030/240] usb: typec: ucsi: acpi: Implement resume callback Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 031/240] usb: dwc3: st: Rely on childs compatible instead of name Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 032/240] usb: dwc3: Dont switch OTG -> peripheral if extcon is present Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 033/240] usb: bdc: change state when port disconnected Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 034/240] usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 controller Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 035/240] mtd: rawnand: tegra: Fix PM disable depth imbalance in probe Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 036/240] mtd: spi-nor: core: Ignore -ENOTSUPP in spi_nor_init() Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 037/240] mtd: parsers: bcm47xxpart: Fix halfblock reads Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 038/240] mtd: rawnand: marvell: Use correct logic for nand-keep-config Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 039/240] squashfs: fix read regression introduced in readahead code Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 040/240] squashfs: fix extending readahead beyond end of file Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 041/240] squashfs: fix buffer release race condition in readahead code Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 042/240] xhci: Add quirk to reset host back to default state at shutdown Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 043/240] xhci-pci: Set runtime PM as default policy on all xHC 1.2 or later devices Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 044/240] xhci: Remove device endpoints from bandwidth list when freeing the device Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 045/240] tools: iio: iio_utils: fix digit calculation Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 046/240] iio: light: tsl2583: Fix module unloading Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 047/240] iio: temperature: ltc2983: allocate iio channels once Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 048/240] iio: adxl372: Fix unsafe buffer attributes Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 049/240] iio: adxl367: " Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 050/240] fbdev: stifb: Fall back to cfb_fillrect() on 32-bit HCRX cards Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 051/240] fbdev: smscufx: Fix several use-after-free bugs Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 052/240] cpufreq: intel_pstate: Read all MSRs on the target CPU Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 053/240] cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 054/240] fs/binfmt_elf: Fix memory leak in load_elf_binary() Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 055/240] exec: Copy oldsighand->action under spin-lock Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 056/240] mac802154: Fix LQI recording Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 057/240] scsi: qla2xxx: Use transport-defined speed mask for supported_speeds Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 058/240] drm/amdgpu: Fix VRAM BO swap issue Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 059/240] drm/amdgpu: Fix for BO move issue Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 060/240] drm/i915: Extend Wa_1607297627 to Alderlake-P Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 061/240] drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 062/240] drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 063/240] drm/amdgpu: fix pstate setting issue Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 064/240] drm/amd/display: Revert logic for plane modifiers Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 065/240] drm/amdkfd: update gfx1037 Lx cache setting Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 066/240] drm/amdkfd: correct the cache info for gfx1036 Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 067/240] drm/msm: fix use-after-free on probe deferral Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 068/240] drm/msm/dsi: fix memory corruption with too many bridges Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 069/240] drm/msm/hdmi: " Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 070/240] drm/msm/hdmi: fix IRQ lifetime Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 071/240] drm/msm/dp: fix memory corruption with too many bridges Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 072/240] drm/msm/dp: fix aux-bus EP lifetime Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 073/240] drm/msm/dp: fix IRQ lifetime Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 074/240] drm/msm/dp: fix bridge lifetime Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 075/240] crypto: x86/polyval - Fix crashes when keys are not 16-byte aligned Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 076/240] random: use arch_get_random*_early() in random_init() Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 077/240] coresight: cti: Fix hang in cti_disable_hw() Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 078/240] mmc: sdhci_am654: select, not depends REGMAP_MMIO Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 079/240] mmc: block: Remove error check of hw_reset on reset Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 080/240] mmc: queue: Cancel recovery work on cleanup Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 081/240] mmc: core: Fix kernel panic when remove non-standard SDIO card Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 082/240] mmc: core: Fix WRITE_ZEROES CQE handling Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 083/240] mmc: sdhci-pci-core: Disable ES for ASUS BIOS on Jasper Lake Greg Kroah-Hartman
2022-11-02  2:30 ` [PATCH 6.0 084/240] mmc: sdhci-esdhc-imx: Propagate ESDHC_FLAG_HS400* only on 8bit bus Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 085/240] counter: microchip-tcb-capture: Handle Signal1 read and Synapse Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 086/240] counter: 104-quad-8: Fix race getting function mode and direction Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 087/240] mm/uffd: fix vma check on userfault for wp Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 088/240] mm: migrate: fix return value if all subpages of THPs are migrated successfully Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 089/240] mm,madvise,hugetlb: fix unexpected data loss with MADV_DONTNEED on hugetlbfs Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 090/240] mm/kmemleak: prevent soft lockup in kmemleak_scan()s object iteration loops Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 091/240] mm/huge_memory: do not clobber swp_entry_t during THP split Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 092/240] mm: prep_compound_tail() clear page->private Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 093/240] kernfs: fix use-after-free in __kernfs_remove Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 094/240] Revert "dt-bindings: pinctrl-zynqmp: Add output-enable configuration" Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 095/240] pinctrl: Ingenic: JZ4755 bug fixes Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 096/240] Revert "pinctrl: pinctrl-zynqmp: Add support for output-enable and bias-high-impedance" Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 097/240] ARC: mm: fix leakage of memory allocated for PTE Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 098/240] perf auxtrace: Fix address filter symbol name match for modules Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 099/240] s390/boot: add secure boot trailer Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 100/240] s390/cio: fix out-of-bounds access on cio_ignore free Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 101/240] s390/uaccess: add missing EX_TABLE entries to __clear_user() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 102/240] s390/futex: add missing EX_TABLE entry to __futex_atomic_op() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 103/240] s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 104/240] ethtool: eeprom: fix null-deref on genl_info in dump Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 105/240] fbdev/core: Avoid uninitialized read in aperture_remove_conflicting_pci_device() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 106/240] ACPI: PCC: Fix unintentional integer overflow Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 107/240] powerpc/64s/interrupt: Fix clear of PACA_IRQS_HARD_DIS when returning to soft-masked context Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 108/240] net: ieee802154: fix error return code in dgram_bind() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 109/240] media: amphion: release m2m ctx when releasing vpu instance Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 110/240] media: v4l2: Fix v4l2_i2c_subdev_set_name function documentation Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 111/240] media: ar0521: fix error return code in ar0521_power_on() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 112/240] media: ar0521: Fix return value check in writing initial registers Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 113/240] media: ov8865: Fix an error handling path in ov8865_probe() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 114/240] media: sun6i-mipi-csi2: Depend on PHY_SUN6I_MIPI_DPHY Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 115/240] media: atomisp: prevent integer overflow in sh_css_set_black_frame() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 116/240] media: sunxi: Fix some error handling path of sun8i_a83t_mipi_csi2_probe() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 117/240] media: sunxi: Fix some error handling path of sun6i_mipi_csi2_probe() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 118/240] media: sun6i-mipi-csi2: Add a Kconfig dependency on RESET_CONTROLLER Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 119/240] media: sun8i-a83t-mipi-csi2: " Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 120/240] media: sun6i-csi: " Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 121/240] media: sun4i-csi: " Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 122/240] media: sun8i-di: " Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 123/240] media: sun8i-rotate: " Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 124/240] media: cedrus: " Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 125/240] drm/msm/a6xx: Replace kcalloc() with kvzalloc() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 126/240] drm/msm/dp: add atomic_check to bridge ops Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 127/240] drm/msm: Fix return type of mdp4_lvds_connector_mode_valid Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 128/240] drm/msm/dp: cleared DP_DOWNSPREAD_CTRL register before start link training Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 129/240] ASoC: codec: tlv320adc3xxx: add GPIOLIB dependency Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 130/240] KVM: selftests: Fix number of pages for memory slot in memslot_modification_stress_test Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 131/240] ASoC: qcom: lpass-cpu: mark HDMI TX registers as volatile Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 132/240] drm/msm/a6xx: Fix kvzalloc vs state_kcalloc usage Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 133/240] erofs: fix illegal unmapped accesses in z_erofs_fill_inode_lazy() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 134/240] erofs: fix up inplace decompression success rate Greg Kroah-Hartman
2022-11-02  2:31 ` Greg Kroah-Hartman [this message]
2022-11-02  2:31 ` [PATCH 6.0 136/240] spi: qup: support using GPIO as chip select line Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 137/240] x86/fpu: Configure init_fpstate attributes orderly Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 138/240] x86/fpu: Fix the init_fpstate size check with the actual size Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 139/240] x86/fpu: Exclude dynamic states from init_fpstate Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 140/240] perf: Fix missing SIGTRAPs Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 141/240] sched/core: Fix comparison in sched_group_cookie_match() Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 142/240] bpf: prevent decl_tag from being referenced in func_proto Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 143/240] arc: iounmap() arg is volatile Greg Kroah-Hartman
2022-11-02  2:31 ` [PATCH 6.0 144/240] mtd: core: add missing of_node_get() in dynamic partitions code Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 145/240] mtd: rawnand: intel: Remove unused nand_pa member from ebu_nand_cs Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 146/240] mtd: rawnand: intel: Use devm_platform_ioremap_resource_byname() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 147/240] mtd: rawnand: intel: Add missing of_node_put() in ebu_nand_probe() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 148/240] pinctrl: ocelot: Fix incorrect trigger of the interrupt Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 149/240] ASoC: codecs: tlv320adc3xxx: Wrap adc3xxx_i2c_remove() in __exit_p() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 150/240] ASoC: SOF: Intel: pci-mtl: fix firmware name Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 151/240] selftests/ftrace: fix dynamic_events dependency check Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 152/240] spi: aspeed: Fix window offset of CE1 Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 153/240] ASoC: qcom: lpass-cpu: Mark HDMI TX parity register as volatile Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 154/240] ASoC: Intel: common: add ACPI matching tables for Raptor Lake Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 155/240] ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 156/240] ASoC: SOF: Intel: pci-tgl: fix ADL-N descriptor Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 157/240] ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 158/240] perf/x86/intel/lbr: Use setup_clear_cpu_cap() instead of clear_cpu_cap() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 159/240] rcu: Keep synchronize_rcu() from enabling irqs in early boot Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 160/240] tipc: fix a null-ptr-deref in tipc_topsrv_accept Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 161/240] net: netsec: fix error handling in netsec_register_mdio() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 162/240] net: lan966x: Fix the rx drop counter Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 163/240] selftests: net: Fix cross-tree inclusion of scripts Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 164/240] selftests: net: Fix netdev name mismatch in cleanup Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 165/240] net: hinic: fix incorrect assignment issue in hinic_set_interrupt_cfg() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 166/240] net: hinic: fix memory leak when reading function table Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 167/240] net: hinic: fix the issue of CMDQ memory leaks Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 168/240] net: hinic: fix the issue of double release MBOX callback of VF Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 169/240] net: macb: Specify PHY PM management done by MAC Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 170/240] nfc: virtual_ncidev: Fix memory leak in virtual_nci_send() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 171/240] RISC-V: KVM: Provide UAPI for Zicbom block size Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 172/240] RISC-V: Fix compilation without RISCV_ISA_ZICBOM Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 173/240] RISC-V: KVM: Fix kvm_riscv_vcpu_timer_pending() for Sstc Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 174/240] x86/unwind/orc: Fix unreliable stack dump with gcov Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 175/240] drm/bridge: ps8640: Add back the 50 ms mystery delay after HPD Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 176/240] x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 177/240] amd-xgbe: Yellow carp devices do not need rrc Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 178/240] amd-xgbe: fix the SFP compliance codes check for DAC cables Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 179/240] amd-xgbe: add the bit rate quirk for Molex cables Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 180/240] drm/i915/dgfx: Keep PCI autosuspend control on by default on all dGPU Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 181/240] drm/i915/dp: Reset frl trained flag before restarting FRL training Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 182/240] atlantic: fix deadlock at aq_nic_stop Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 183/240] kcm: annotate data-races around kcm->rx_psock Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 184/240] kcm: annotate data-races around kcm->rx_wait Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 185/240] net: fix UAF issue in nfqnl_nf_hook_drop() when ops_init() failed Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 186/240] net: lantiq_etop: dont free skb when returning NETDEV_TX_BUSY Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 187/240] tcp: fix a signed-integer-overflow bug in tcp_add_backlog() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 188/240] tcp: fix indefinite deferral of RTO with SACK reneging Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 189/240] net-memcg: avoid stalls when under memory pressure Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 190/240] drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 191/240] net: lan966x: Stop replacing tx dcbs and dcbs_buf when changing MTU Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 192/240] mptcp: set msk local address earlier Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 193/240] can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error path Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 194/240] can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() " Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 195/240] PM: hibernate: Allow hybrid sleep to work with s2idle Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 196/240] media: vivid: s_fbuf: add more sanity checks Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 197/240] media: vivid: dev->bitmap_cap wasnt freed in all cases Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 198/240] media: v4l2-dv-timings: add sanity checks for blanking values Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 199/240] media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check interlaced Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 200/240] media: vivid: set num_in/outputs to 0 if not supported Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 201/240] perf vendor events power10: Fix hv-24x7 metric events Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 202/240] perf list: Fix PMU name pai_crypto in perf list on s390 Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 203/240] ipv6: ensure sane device mtu in tunnels Greg Kroah-Hartman
2022-11-02  2:32 ` [PATCH 6.0 204/240] i40e: Fix ethtool rx-flow-hash setting for X722 Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 205/240] i40e: Fix VF hang when reset is triggered on another VF Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 206/240] i40e: Fix flow-type by setting GL_HASH_INSET registers Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 207/240] net: ksz884x: fix missing pci_disable_device() on error in pcidev_init() Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 208/240] riscv: jump_label: mark arguments as const to satisfy asm constraints Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 209/240] PM: domains: Fix handling of unavailable/disabled idle states Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 210/240] perf vendor events arm64: Fix incorrect Hisi hip08 L3 metrics Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 211/240] net: fec: limit register access on i.MX6UL Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 212/240] net: ethernet: ave: Fix MAC to be in charge of PHY PM Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 213/240] ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 214/240] ALSA: aoa: Fix I2S device accounting Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 215/240] openvswitch: switch from WARN to pr_warn Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 216/240] net: ehea: fix possible memory leak in ehea_register_port() Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 217/240] net: bcmsysport: Indicate MAC is in charge of PHY PM Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 218/240] nh: fix scope used to find saddr when adding non gw nh Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 219/240] net: broadcom: bcm4908_enet: update TX stats after actual transmission Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 220/240] netdevsim: fix memory leak in nsim_bus_dev_new() Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 221/240] netdevsim: fix memory leak in nsim_drv_probe() when nsim_dev_resources_register() failed Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 222/240] netdevsim: remove dir in nsim_dev_debugfs_init() when creating ports dir failed Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 223/240] net/mlx5e: Do not increment ESN when updating IPsec ESN state Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 224/240] net/mlx5: Wait for firmware to enable CRS before pci_restore_state Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 225/240] net/mlx5: DR, Fix matcher disconnect error flow Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 226/240] net/mlx5e: Extend SKB room check to include PTP-SQ Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 227/240] net/mlx5e: Update restore chain id for slow path packets Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 228/240] net/mlx5: ASO, Create the ASO SQ with the correct timestamp format Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 229/240] net/mlx5: Fix possible use-after-free in async command interface Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 230/240] net/mlx5e: TC, Reject forwarding from internal port to internal port Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 231/240] net/mlx5: Update fw fatal reporter state on PCI handlers successful recover Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 232/240] net/mlx5: Fix crash during sync firmware reset Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 233/240] net: do not sense pfmemalloc status in skb_append_pagefrags() Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 234/240] kcm: do not sense pfmemalloc status in kcm_sendpage() Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 235/240] net: enetc: survive memory pressure without crashing Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 236/240] riscv: mm: add missing memcpy in kasan_init Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 237/240] riscv: fix detection of toolchain Zicbom support Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 238/240] riscv: fix detection of toolchain Zihintpause support Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 239/240] arm64: Add AMPERE1 to the Spectre-BHB affected list Greg Kroah-Hartman
2022-11-02  2:33 ` [PATCH 6.0 240/240] tcp/udp: Fix memory leak in ipv6_renew_options() Greg Kroah-Hartman
2022-11-02 10:10 ` [PATCH 6.0 000/240] 6.0.7-rc1 review Jon Hunter
2022-11-02 12:22 ` Bagas Sanjaya
2022-11-02 12:25 ` Ron Economos
2022-11-02 13:40 ` Fenil Jain
2022-11-02 18:21 ` Naresh Kamboju
2022-11-02 18:42 ` Florian Fainelli
2022-11-02 20:21 ` Allen Pais
2022-11-02 20:48 ` Guenter Roeck
2022-11-03 12:17 ` Sudip Mukherjee
2022-11-03 12:47 ` Rudi Heitbaum

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=20221102022114.432970573@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dianders@chromium.org \
    --cc=linus.walleij@linaro.org \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=swboyd@chromium.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;
as well as URLs for NNTP newsgroup(s).