Re: [PATCH 0/2] mmc: rtsx: card stuck busy fixes for Realtek PCI SD card readers

From: Ulf Hansson

Date: Wed Jan 21 2026 - 05:27:35 EST


On Mon, 5 Jan 2026 at 07:02, Matthew Schwartz
<matthew.schwartz@xxxxxxxxx> wrote:
>
> This series fixes some SD card timeout errors that occur after suspend and
> resume ops on systems with Realtek PCI card readers. These issues occur on
> my 2 RTS525A card readers and my RTS5261 card reader.
>
> As a stress test, I ran the amd-s2idle script from amd-debug-tools to
> automate s2idle cycles and I launched a visual novel, WITCH ON THE HOLY
> NIGHT, from the SD card. Visual novels are basically just slideshows, and
> waiting for 10 seconds without advancing the text is an easy way to
> trigger rtsx_pci_runtime_suspend/rtsx_pci_runtime_resume. I set amd-s2idle
> to test with a 10 second long s2idle length with 13 seconds between runs.
>
> The main symptom that always shows up is "mmc0: Card stuck being busy!"
> followed by timeouts and filesystem errors. This can occur during both
> runtime resume and s2idle resume:
>
> [ 260.638214] mmc0: error -110 doing runtime resume
> [ 261.054214] mmc0: card d555 removed
> [ 261.054382] Aborting journal on device mmcblk0p1-8.
> [ 261.054386] JBD2: I/O error when updating journal superblock for mmcblk0p1-8.
> [ 261.067729] EXT4-fs (mmcblk0p1): shut down requested (2)
>
> Patch 1 adds a power_off callback so rtsx_pcr can notify the sdmmc driver
> during suspend, allowing it to reset prev_power_state. This ensures
> sd_power_on properly reinitializes the card on resume. It reduces the
> failure rate of "mmc0: Card stuck being busy!" after resume from 20% down
> to 4%.
>
> Patch 2 increases the post-power-on settling delay from 1ms to 5ms. The
> shorter delay seems insufficient for reliable reinitialization after the
> hardware has been powered off during suspend. Increasing this reduces the
> failure rate from 4% down to 0%, tested with over 300 s2idle cycles.
>
> Matthew Schwartz (2):
> mmc: rtsx: reset power state on suspend
> mmc: rtsx_pci_sdmmc: increase power-on settling delay to 5ms
>
> drivers/misc/cardreader/rtsx_pcr.c | 9 +++++++++
> drivers/mmc/host/rtsx_pci_sdmmc.c | 24 +++++++++++++++++++++++-
> include/linux/rtsx_common.h | 1 +
> 3 files changed, 33 insertions(+), 1 deletion(-)
>
> --
> 2.52.0
>

Greg, looks like you have queued up these patches via your misc tree,
can you please drop them? We need a different approach to the problem.

Kind regards
Uffe