[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2026012152-botany-celery-2710@gregkh>
Date: Wed, 21 Jan 2026 15:51:58 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Ulf Hansson <ulf.hansson@...aro.org>
Cc: Matthew Schwartz <matthew.schwartz@...ux.dev>,
Arnd Bergmann <arnd@...db.de>, Ricky Wu <ricky_wu@...ltek.com>,
linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] mmc: rtsx: card stuck busy fixes for Realtek PCI SD
card readers
On Wed, Jan 21, 2026 at 01:49:11PM +0100, Ulf Hansson wrote:
> On Wed, 21 Jan 2026 at 11:31, Greg Kroah-Hartman
> <gregkh@...uxfoundation.org> wrote:
> >
> > On Wed, Jan 21, 2026 at 11:13:03AM +0100, Ulf Hansson wrote:
> > > On Mon, 5 Jan 2026 at 07:02, Matthew Schwartz
> > > <matthew.schwartz@...ux.dev> 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.
> >
> > They need to be reverted (my tree can not be rebased.) Should I do
> > that, or does someone want to send me the reverts?
>
> If you can revert them, that would be great!
>
> Then I will continue to work with Matthew to fix the problem in a more
> proper way.
All now reverted, thanks!
greg k-h
Powered by blists - more mailing lists