From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Luke Wang <ziniu.wang_1@nxp.com>, Bough Chen <haibo.chen@nxp.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Sasha Levin <sashal@kernel.org>,
shawnguo@kernel.org, linux-imx@nxp.com,
linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 7.0-6.18] mmc: sdhci-esdhc-imx: wait for data transfer completion before reset
Date: Mon, 20 Apr 2026 09:07:59 -0400 [thread overview]
Message-ID: <20260420131539.986432-13-sashal@kernel.org> (raw)
In-Reply-To: <20260420131539.986432-1-sashal@kernel.org>
From: Luke Wang <ziniu.wang_1@nxp.com>
[ Upstream commit 8ceb70c9f970bfbdceb1e51578850a60b9de2236 ]
On IMX7ULP platforms, certain SD cards (e.g. Kingston Canvas Go! Plus)
cause system hangs and reboots during manual tuning. These cards exhibit
large gaps (~16us) between tuning command response and data transmission.
When cmd CRC errors occur during tuning, the code assumes data errors even
tuning data hasn't been fully received and then reset host data circuit.
Per IMX7ULP reference manual, reset operations (RESET_DATA/ALL) need to
make sure no active data transfers. Previously, resetting while data was
in-flight would clear data circuit, including ADMA/SDMA address, causing
data to be transmitted to incorrect memory address. This patch adds
polling for data transfer completion before executing resets.
Signed-off-by: Luke Wang <ziniu.wang_1@nxp.com>
Reviewed-by: Bough Chen <haibo.chen@nxp.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
Now I have all the information needed for a comprehensive analysis. Let
me compile the final assessment.
---
## PHASE 1: COMMIT MESSAGE FORENSICS
### Step 1.1: Subject Line
- **Subsystem**: `mmc: sdhci-esdhc-imx:` (MMC host controller driver for
NXP i.MX ESDHC)
- **Action verb**: "wait" (defensive/preventive action)
- **Summary**: Wait for data transfer completion before resetting the
host data circuit to avoid system hang.
Record: [mmc: sdhci-esdhc-imx] [wait/prevent] [Prevent system hang by
ensuring data transfer is complete before reset]
### Step 1.2: Tags
- **Signed-off-by**: Luke Wang <ziniu.wang_1@nxp.com> (author, NXP
engineer)
- **Reviewed-by**: Bough Chen <haibo.chen@nxp.com> (NXP subsystem
maintainer for sdhci-esdhc-imx, prolific contributor)
- **Acked-by**: Adrian Hunter <adrian.hunter@intel.com> (senior
SDHCI/MMC subsystem maintainer)
- **Signed-off-by**: Ulf Hansson <ulf.hansson@linaro.org> (MMC subsystem
maintainer who merged this)
- No Fixes: tag (expected for autosel candidates)
- No Cc: stable (expected)
- No Link: tag
Record: Reviewed by NXP subsystem expert (haibo.chen), ACK'd by sdhci
co-maintainer (Adrian Hunter), merged by MMC maintainer (Ulf Hansson).
Strong review chain.
### Step 1.3: Body Analysis
- **Bug**: On IMX7ULP platforms, certain SD cards (Kingston Canvas Go!
Plus) cause **system hangs and reboots** during manual tuning.
- **Root cause**: Large gaps (~16us) between tuning command response and
data transmission. When CRC errors occur during tuning, code resets
the host data circuit while data is still in-flight.
- **Failure mechanism**: Per IMX7ULP reference manual,
RESET_DATA/RESET_ALL must not be issued during active data transfer.
Resetting while data is in-flight clears the data circuit including
ADMA/SDMA address, causing **data to be transmitted to incorrect
memory address**.
- **Symptom**: System hang and reboot.
Record: Critical bug - system hang/reboot. DMA address corruption from
reset during active transfer. Hardware-documented requirement violated.
Specific SD card makes the timing gap visible.
### Step 1.4: Hidden Bug Fix Detection
This is NOT hidden - it's an explicit fix for system hangs. The commit
clearly describes a hardware requirement (per reference manual) that was
being violated, leading to DMA address corruption and system hangs.
Record: Explicit bug fix - system hang prevention. Not a disguised fix.
## PHASE 2: DIFF ANALYSIS
### Step 2.1: Inventory
- **Files changed**: 1 file (`drivers/mmc/host/sdhci-esdhc-imx.c`)
- **Lines added**: ~18 (2 for the define, 16 for the polling logic)
- **Lines removed**: 0
- **Functions modified**: `esdhc_reset()` - the core reset callback for
this driver
- **Scope**: Single-file, single-function, surgical fix
Record: [sdhci-esdhc-imx.c +18/-0] [esdhc_reset() modified] [Single-file
surgical fix]
### Step 2.2: Code Flow Change
1. **New define**: `ESDHC_DATA_INHIBIT_WAIT_US 100000` (100ms timeout)
2. **Before**: `esdhc_reset()` directly called `sdhci_and_cqhci_reset()`
without checking data transfer state
3. **After**: Before reset, if the reset mask includes
`SDHCI_RESET_DATA` or `SDHCI_RESET_ALL`, poll `ESDHC_PRSSTAT`
register waiting for `SDHCI_DATA_INHIBIT` to clear (indicating no
active data transfer). Timeout at 100ms with a warning. Then proceed
to reset.
Record: Added defensive wait-for-idle before data/full reset. 100ms
timeout with warning on failure. Non-blocking (proceeds even on
timeout).
### Step 2.3: Bug Mechanism
Category: **Hardware workaround / DMA corruption fix**
- The bug is a violation of hardware specification requirements (IMX7ULP
reference manual)
- Resetting while `SDHCI_DATA_INHIBIT` is set clears ADMA/SDMA addresses
mid-transfer
- Data goes to wrong memory address → system hang/reboot (effectively
memory corruption)
- The fix polls the Present State register bit 1 (DATA_INHIBIT) before
issuing reset
- Uses `readl_poll_timeout_atomic` with 2us polling interval and 100ms
max wait
Record: [HW requirement violation → DMA address corruption → system
hang] [Fix: poll for data idle before reset]
### Step 2.4: Fix Quality
- **Obviously correct**: Yes. The reference manual explicitly requires
waiting. The pattern of polling ESDHC_PRSSTAT is already used twice in
this driver (lines 471, 1028).
- **Minimal/surgical**: Yes. Only adds the required wait before existing
reset call.
- **Regression risk**: Very low. On timeout, it warns but still proceeds
with reset (graceful degradation). The 100ms timeout is generous.
Using `readl_poll_timeout_atomic` is appropriate since reset can be
called from interrupt context.
- **Red flags**: None. Well-contained, uses established patterns from
the same driver.
Record: High quality fix. Uses existing driver patterns. Graceful
timeout handling. Minimal regression risk.
## PHASE 3: GIT HISTORY INVESTIGATION
### Step 3.1: Blame
- `esdhc_reset()` introduced in commit `0718e59ae259f7` by Russell King
(2014-04-25), present since ~v3.16
- Modified by `fb1dec44c6750b` (Brian Norris, 2022-10-26) to use
`sdhci_and_cqhci_reset`, present since v6.2
- The function has been stable in its current form since v6.2
Record: esdhc_reset() has existed since v3.16 (2014). Current form since
v6.2. Bug has been present since the function was introduced - the
hardware requirement was never respected.
### Step 3.2: No Fixes: tag present (expected).
### Step 3.3: File History
Recent changes to the file are mostly tuning-related fixes (manual
tuning, clock loopback, PM refactoring). The `esdhc_reset()` function
itself hasn't been touched recently (last change was the cqhci fix in
2022).
Record: No prerequisites identified. The fix is standalone.
### Step 3.4: Author
Luke Wang (ziniu.wang_1@nxp.com) is a regular NXP contributor with 14+
commits in the MMC subsystem and sdhci-esdhc-imx driver specifically.
He's contributed tuning improvements, PM refactoring, and other driver
fixes.
Record: Regular subsystem contributor from the hardware vendor (NXP).
### Step 3.5: Dependencies
- Uses `readl_poll_timeout_atomic` from `<linux/iopoll.h>` - already
included in all stable versions
- Uses `ESDHC_PRSSTAT` and `SDHCI_DATA_INHIBIT` - both already defined
- Uses `SDHCI_RESET_DATA` and `SDHCI_RESET_ALL` - standard SDHCI defines
- Only dependency: `sdhci_and_cqhci_reset` (present since v6.2). For
v5.15, the function uses `sdhci_reset` instead - minor backport
adjustment needed.
Record: Fully standalone for v6.1+. Minor adjustment needed for v5.15
(different reset function name). All APIs/macros already available.
## PHASE 4: MAILING LIST AND EXTERNAL RESEARCH
### Step 4.1-4.5
I was unable to find the specific mailing list thread for this patch via
b4 dig (commit not in tree) or web searches. The patch was found
indirectly via the "1-bit bus width" series which built on top of the
file state after this patch was applied (blob `97461e20425d`).
The commit has strong review signals:
- **Reviewed-by** from Bough Chen (NXP maintainer of this driver, 30+
commits)
- **Acked-by** from Adrian Hunter (SDHCI co-maintainer, 100+ SDHCI
commits)
- **Signed-off-by** from Ulf Hansson (MMC subsystem maintainer who
merged it)
Record: Could not find lore thread directly (commit not yet in tree).
But review chain is complete: hardware vendor reviewer + SDHCI
maintainer ACK + subsystem maintainer merge.
## PHASE 5: CODE SEMANTIC ANALYSIS
### Step 5.1: Functions Modified
- `esdhc_reset()` - the `.reset` callback in `sdhci_esdhc_ops`
### Step 5.2: Callers
`esdhc_reset` is called via `sdhci_do_reset()` (line 247 of sdhci.c)
through the ops->reset function pointer. `sdhci_do_reset` is called
from:
- `sdhci_reset_for_all()` - init, suspend/resume paths (SDHCI_RESET_ALL)
- `sdhci_reset_for_reason()` - error recovery, tuning abort, card
removal, CQE recovery (SDHCI_RESET_CMD, SDHCI_RESET_DATA)
- These are called from tuning abort, data error paths, card removal,
CQE recovery, and initialization
The fix specifically triggers on `SDHCI_RESET_DATA | SDHCI_RESET_ALL`,
which covers error recovery (data errors, request errors) and full
initialization.
Record: Called from multiple critical paths - error recovery, tuning
abort, card removal, init. High-traffic code path.
### Step 5.3-5.4: The affected code path is triggered during normal card
operations (tuning, error recovery). Any user of an i.MX SDHCI host
controller can trigger this.
### Step 5.5: Similar Patterns
The Freescale ESDHC of-driver (`sdhci-of-esdhc.c`) has a separate
`quirk_ignore_data_inhibit` for unreliable DATA_INHIBIT bits on some
controllers. The `readl_poll_timeout` pattern is already used twice in
this same driver for similar hardware waits.
Record: Pattern is consistent with existing driver practices.
## PHASE 6: STABLE TREE ANALYSIS
### Step 6.1: Buggy Code in Stable Trees
- `esdhc_reset()` exists in **all stable trees** (v5.15, v6.1, v6.6,
v6.12, v6.19)
- The bug has been present since the function was introduced in v3.16
(2014)
- IMX7ULP support was added before v5.15
Record: Bug exists in ALL active stable trees.
### Step 6.2: Backport Complications
- For v6.1, v6.6, v6.12, v6.19: Patch applies cleanly. `esdhc_reset()`
is identical.
- For v5.15: Minor adjustment needed - function calls `sdhci_reset()`
instead of `sdhci_and_cqhci_reset()`, but the added code goes BEFORE
that call, so it's unaffected.
Record: Clean apply for v6.1+. Trivial adjustment for v5.15.
### Step 6.3: No related fixes already in stable for this issue.
## PHASE 7: SUBSYSTEM AND MAINTAINER CONTEXT
### Step 7.1
- **Subsystem**: drivers/mmc/host - MMC host controller drivers
- **Criticality**: IMPORTANT - MMC/SD cards are used for storage on
embedded platforms, IoT devices, and Android devices running i.MX
SoCs. System hangs on these platforms = production device failure.
### Step 7.2
The sdhci-esdhc-imx driver is actively maintained by NXP engineers. 28
changes between v6.6 and v6.19.
## PHASE 8: IMPACT AND RISK ASSESSMENT
### Step 8.1: Affected Population
- Users of NXP i.MX SoCs with SDHCI host controllers (IMX7ULP
specifically named, but the fix applies to all i.MX ESDHC variants)
- Embedded/IoT devices, industrial controllers, automotive platforms
using NXP i.MX chips
- The bug is triggered with specific SD cards (Kingston Canvas Go! Plus
mentioned) during tuning
### Step 8.2: Trigger Conditions
- Occurs during SD card tuning (happens on card initialization/re-
initialization)
- Triggered when CRC errors occur during tuning while data has gaps in
transmission
- Not every card triggers it - depends on card timing characteristics
- Can happen on any boot/card insertion with affected cards
### Step 8.3: Failure Mode Severity
- **System hang and reboot** = CRITICAL
- DMA writes to incorrect memory address = potential **memory
corruption**
- The reset clears ADMA/SDMA addresses, so DMA writes to address 0 or
stale address
- This is a hardware-documented requirement violation
Record: CRITICAL severity. System hang, reboot, potential memory
corruption.
### Step 8.4: Risk-Benefit Ratio
- **BENEFIT**: HIGH - prevents system hangs/reboots on NXP i.MX
platforms with certain SD cards
- **RISK**: VERY LOW
- ~18 lines added, single function, single file
- Uses existing patterns from the same driver
- Graceful timeout (warning + proceed) prevents any new hangs from the
fix itself
- `readl_poll_timeout_atomic` is safe for all calling contexts
- Only adds a wait before an existing operation
Record: HIGH benefit / VERY LOW risk. Strongly favorable ratio.
## PHASE 9: FINAL SYNTHESIS
### Step 9.1: Evidence Summary
**FOR backporting:**
1. Fixes **system hangs and reboots** (CRITICAL severity)
2. Fixes **DMA address corruption** from violating hardware
specification
3. Small, surgical fix (~18 lines in one function, one file)
4. Uses existing patterns from the same driver (`readl_poll_timeout`)
5. Reviewed by NXP driver maintainer (haibo.chen), ACK'd by SDHCI co-
maintainer (Adrian Hunter), merged by MMC maintainer (Ulf Hansson)
6. Author is NXP engineer with deep knowledge of the hardware
7. Bug exists in ALL active stable trees (code unchanged since v6.2)
8. Patch applies cleanly to v6.1+ with no modifications needed
9. Graceful degradation on timeout (warn + continue)
10. References hardware reference manual as justification
**AGAINST backporting:**
- No concrete signals against. The fix is well-contained and low-risk.
**UNRESOLVED:**
- Could not find the original lore thread (commit appears very
recent/not yet merged)
- No Fixes: tag identifying original buggy commit (but bug has existed
since 2014)
### Step 9.2: Stable Rules Checklist
1. **Obviously correct and tested?** YES - follows hardware manual
requirement, reviewed by 3 maintainers, uses established driver
patterns
2. **Fixes a real bug?** YES - system hangs and reboots on real hardware
with real SD cards
3. **Important issue?** YES - system hang, reboot, DMA corruption =
CRITICAL
4. **Small and contained?** YES - ~18 lines, single function, single
file
5. **No new features/APIs?** CORRECT - no new features, just defensive
hardware wait
6. **Can apply to stable?** YES - applies cleanly to v6.1+, minor
adjustment for v5.15
### Step 9.3: Exception Categories
Not needed - this meets standard stable criteria as a critical bug fix.
### Step 9.4: Decision
This is a clear YES. It fixes a **critical** system hang/reboot caused
by violating a hardware-documented requirement, with a small, surgical,
well-reviewed patch that carries minimal regression risk.
## Verification
- [Phase 1] Parsed tags: Reviewed-by: haibo.chen (NXP), Acked-by: Adrian
Hunter (SDHCI maintainer), SOB: Ulf Hansson (MMC maintainer)
- [Phase 2] Diff analysis: ~18 lines added to `esdhc_reset()`, adds
`readl_poll_timeout_atomic` for DATA_INHIBIT before reset
- [Phase 2] Verified `readl_poll_timeout_atomic` is defined in
`include/linux/iopoll.h` (line 230)
- [Phase 2] Verified `ESDHC_PRSSTAT` defined at offset 0x24 in `sdhci-
esdhc.h` (line 34), same as `SDHCI_PRESENT_STATE`
- [Phase 2] Verified `SDHCI_DATA_INHIBIT` is 0x00000002 at `sdhci.h:82`
- [Phase 3] git blame: `esdhc_reset()` introduced in `0718e59ae259f7`
(2014), modified by `fb1dec44c6750b` (2022)
- [Phase 3] Confirmed `sdhci_and_cqhci_reset` present in v6.1 and v6.6
via `git merge-base --is-ancestor`
- [Phase 3] Confirmed `esdhc_reset()` in v6.1 and v6.6 is identical to
current mainline (before this patch)
- [Phase 3] Author Luke Wang has 14+ commits in MMC subsystem, regular
NXP contributor
- [Phase 3] No prerequisites identified - patch is standalone
- [Phase 4] b4 dig could not find thread (commit not in tree). Web
searches confirmed author's other patches and expertise.
- [Phase 5] `esdhc_reset` called via `sdhci_do_reset()` from error
recovery, tuning abort, init, CQE recovery paths
- [Phase 5] `readl_poll_timeout` pattern already used twice in this
driver (lines 471, 1028)
- [Phase 6] Confirmed `esdhc_reset()` exists identically in v6.1 and
v6.6 stable trees
- [Phase 6] Confirmed `<linux/iopoll.h>` is included in v6.1 (verified
directly)
- [Phase 6] For v5.15, `esdhc_reset` uses `sdhci_reset()` instead -
minor backport adjustment needed
- [Phase 7] IMX7ULP support (`usdhc_imx7ulp_data`) present in driver,
confirmed at line 324
- [Phase 8] Failure mode: system hang + reboot + DMA address corruption
→ CRITICAL severity
- UNVERIFIED: Could not access the original lore thread for this
specific patch
**YES**
drivers/mmc/host/sdhci-esdhc-imx.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index a7a5df673b0f6..97461e20425d8 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -216,6 +216,8 @@
#define ESDHC_FLAG_DUMMY_PAD BIT(19)
#define ESDHC_AUTO_TUNING_WINDOW 3
+/* 100ms timeout for data inhibit */
+#define ESDHC_DATA_INHIBIT_WAIT_US 100000
enum wp_types {
ESDHC_WP_NONE, /* no WP, neither controller nor gpio */
@@ -1453,6 +1455,22 @@ static void esdhc_set_uhs_signaling(struct sdhci_host *host, unsigned timing)
static void esdhc_reset(struct sdhci_host *host, u8 mask)
{
+ u32 present_state;
+ int ret;
+
+ /*
+ * For data or full reset, ensure any active data transfer completes
+ * before resetting to avoid system hang.
+ */
+ if (mask & (SDHCI_RESET_DATA | SDHCI_RESET_ALL)) {
+ ret = readl_poll_timeout_atomic(host->ioaddr + ESDHC_PRSSTAT, present_state,
+ !(present_state & SDHCI_DATA_INHIBIT), 2,
+ ESDHC_DATA_INHIBIT_WAIT_US);
+ if (ret == -ETIMEDOUT)
+ dev_warn(mmc_dev(host->mmc),
+ "timeout waiting for data transfer completion\n");
+ }
+
sdhci_and_cqhci_reset(host, mask);
sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
--
2.53.0
next prev parent reply other threads:[~2026-04-20 13:16 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-20 13:07 [PATCH AUTOSEL 6.18] ALSA: hda/realtek: add quirk for Lenovo Yoga 7 2-in-1 16AKP10 Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 6.18] net: stmmac: Fix PTP ref clock for Tegra234 Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-6.12] ring-buffer: Enforce read ordering of trace_buffer cpumask and buffers Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-6.6] PCI: Prevent assignment to unsupported bridge windows Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-5.10] smb: client: fix integer underflow in receive_encrypted_read() Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-5.10] gpio: lp873x: normalize return value of gpio_get Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-6.12] ALSA: hda: cs35l41: Fix boost type for HP Dragonfly 13.5 inch G4 Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-6.18] wifi: mt76: don't return TXQ when exceeding max non-AQL packets Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 6.18] arm64: dts: imx91-tqma9131: improve eMMC pad configuration Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 6.18] ASoC: amd: acp: add ASUS HN7306EA quirk for legacy SDW machine Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-6.12] wifi: mac80211: properly handle error in ieee80211_add_virtual_monitor Sasha Levin
2026-04-20 13:07 ` [PATCH AUTOSEL 7.0-5.10] net: qrtr: fix endian handling of confirm_rx field Sasha Levin
2026-04-20 13:07 ` Sasha Levin [this message]
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] tracing/probe: reject non-closed empty immediate strings Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] media: rc: fix race between unregister and urb/irq callbacks Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] netfilter: xt_multiport: validate range encoding in checkentry Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] arm64: dts: imx93-tqma9352: improve eMMC pad configuration Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.12] dm vdo slab-depot: validate old zone count on load Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.6] wifi: mt76: mt792x: Fix a potential deadlock in high-load situations Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.12] orangefs: add usercopy whitelist to orangefs_op_cache Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] ice: ptp: don't WARN when controlling PF is unavailable Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] e1000: check return value of e1000_read_eeprom Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.19] ALSA: usb-audio: Add quirks for Arturia AF16Rig Sasha Levin
2026-04-20 13:27 ` Philip Willoughby
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.12] ALSA: asihpi: detect truncated control names Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] ALSA: hda/realtek: Add support for ASUS 2026 Commercial laptops using CS35L41 HDA Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] jfs: Set the lbmDone flag at the end of lbmIODone Sasha Levin
2026-04-20 14:10 ` Edward Adam Davis
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.19] ASoC: SDCA: Add CS47L47 to class driver Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] media: renesas: vsp1: rpf: Fix crop left and top clamping Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] ASoC: amd: yc: Add DMI entry for HP Laptop 15-fc0xxx Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] media: au0828: Fix green screen in analog Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] ASoC: Intel: avs: Fix memory leak in avs_register_i2s_test_boards() Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.6] nvme-loop: do not cancel I/O and admin tagset during ctrl reset/shutdown Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.6] bpf, sockmap: Annotate af_unix sock:: Sk_state data-races Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] net: wangxun: reorder timer and work sync cancellations Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] PCI: tegra194: Assert CLKREQ# explicitly by default Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.15] net: mvneta: support EPROBE_DEFER when reading MAC address Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: add quirk for Framework F111:000F Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] jfs: add dmapctl integrity check to prevent invalid operations Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.6] wifi: mac80211: Remove deleted sta links in ieee80211_ml_reconf_work() Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.6] HID: logitech-hidpp: fix race condition when accessing stale stack pointer Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.1] net/mlx5e: XSK, Increase size for chunk_size param Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] PCI: dwc: Proceed with system suspend even if the endpoint doesn't respond with PME_TO_Ack message Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] ACPI: processor: idle: Fix NULL pointer dereference in hotplug path Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] ppp: disconnect channel before nullifying pch->chan Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.1] wifi: iwlwifi: mvm: zero iwl_geo_tx_power_profiles_cmd before sending Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.15] ALSA: pcm: Serialize snd_pcm_suspend_all() with open_mutex Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.1] Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.6] Bluetooth: hci_qca: Fix missing wakeup during SSR memdump handling Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] pinctrl: intel: Fix the revision for new features (1kOhm PD, HW debouncer) Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] fbdev: viafb: check ioremap return value in viafb_lcd_get_mobile_state Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.19] drm/panel-edp: Add BOE NV153WUM-N42, CMN N153JCA-ELK, CSW MNF307QS3-2 Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0] drm/amdgpu/userq: remove queue from doorbell xarray Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.1] memory: brcmstb_memc: Expand LPDDR4 check to cover for LPDDR5 Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.12] nouveau: pci: quiesce GPU on shutdown Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] perf/amd/ibs: Avoid race between event add and NMI Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.12] drm/amd/display: Fix dcn401_optimize_bandwidth Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] wifi: rtw88: coex: Ignore BT info byte 5 from RTL8821A Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file() Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] ALSA: hda/realtek: Add quirk for CSL Unity BF24B Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] media: stm32: dcmi: stop the dma transfer on overrun Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.10] ALSA: aoa/onyx: Fix OF node leak on probe failure Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] drm/bridge: waveshare-dsi: Register and attach our DSI device at probe Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.1] wifi: rtw89: retry efuse physical map dump on transient failure Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] netfilter: nfnetlink_queue: make hash table per queue Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] gpio: cgbc: normalize return value of gpio_get Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] HID: logitech-hidpp: Check bounds when deleting force-feedback effects Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] x86: shadow stacks: proper error handling for mmap lock Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.1] sched: Fix incorrect schedstats for rt and dl thread Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] wifi: iwlwifi: pcie: don't dump on reset handshake in dump Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] net: sfp: add quirks for Hisense and HSGQ GPON ONT SFP modules Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 6.18] ixgbevf: add missing negotiate_features op to Hyper-V ops table Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-6.18] hwmon: (pmbus/isl68137) Add support for Renesas RAA228942 and RAA228943 Sasha Levin
2026-04-20 13:08 ` [PATCH AUTOSEL 7.0-5.15] btrfs: use BTRFS_FS_UPDATE_UUID_TREE_GEN flag for UUID tree rescan check Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-6.19] Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-6.18] wifi: mt76: abort ROC on chanctx changes Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-6.18] perf/amd/ibs: Limit ldlat->l3missonly dependency to Zen5 Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 6.18] drm/amdkfd: Fix queue preemption/eviction failures by aligning control stack size to GPU page size Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 6.18] clockevents: Prevent timer interrupt starvation Sasha Levin
2026-04-20 14:12 ` Thomas Gleixner
2026-04-21 6:26 ` [PATCH stable backport] clockevents: Add missing resets of the next_event_forced flag Thomas Gleixner
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-5.10] ASoC: tas2552: Allow audio enable GPIO to sleep Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-6.18] wifi: ath12k: Fix the assignment of logical link index Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-6.12] drm/amdgpu: fix DF NULL pointer issue for soc24 Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-6.18] drm/ttm: Avoid invoking the OOM killer when reading back swapped content Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 6.18] drm/vc4: Release runtime PM reference after binding V3D Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-5.10] media: i2c: mt9p031: Check return value of devm_gpiod_get_optional() in mt9p031_probe() Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 6.18] Bluetooth: hci_sync: annotate data-races around hdev->req_status Sasha Levin
2026-04-20 13:09 ` [PATCH AUTOSEL 7.0-5.10] ASoC: Intel: bytcr_rt5651: Fix MCLK leak on platform_clock_control error Sasha Levin
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=20260420131539.986432-13-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=haibo.chen@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=shawnguo@kernel.org \
--cc=stable@vger.kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=ziniu.wang_1@nxp.com \
/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