Kernel Bug Tracker – Bug 10984
MMC print trace information when resume from suspend
Last modified: 2011-01-18 07:59:27 UTC
Latest working kernel version: 2.6.25
Earliest failing kernel version: 2.6.26-rc6
Hardware Environment: ThinkPad X60
When resume mmc cause kernel to print trace information, but I still can use my sdcard. It is a regression from 2.6.25.
Steps to reproduce:
1. boot with sdcard inserted.
Created attachment 16632 [details]
This looks like a driver core issue. The problem is that it is adding a new device (the redetected card), to a parent that hasn't resumed yet. That shouldn't be possible though, as the redetection is put on a delayed workqueue by the parent's resume routine. And AFAIK, we're single CPU and not preemptible during resume, so the workqueue shouldn't run until the parent has finished resuming.
Jiu Lou, if you could retest with PM debugging enabled, that would probably help as it'll print when each device gets resumed.
Created attachment 16638 [details]
dmesg with PM debug enabled
Created attachment 16639 [details]
dmesg with PM debug and MMC debug enabled
Handled-By : Pierre Ossman <mailto:firstname.lastname@example.org>
Huh? I wouldn't know how to debug this. The PM core is complaining even though the traces show that the parent got resumed way earlier. So at this point I don't see how this is a MMC problem.
Not-Handled-By : Pierre Ossman <mailto:email@example.com>
Sorry, I should have looked more closely at this entry.
In fact, the issue is known and the warning is harmless. It is a consequence of an intentional change supposed to catch suspend ordering violations, which works correctly, because the MMC driver violates the suspend ordering. However, it does that in a way which doesn't lead to any real breakage.
We are going to fix the driver in the future, after we've changed the suspend-resume core, which is supposed to happen in 2.6.27.
Dropping from the list of regressions.
Rafael, what's the status of this bug? :)
(In reply to comment #10)
> Rafael, what's the status of this bug? :)
I think it got fixed, I didn't see it with recent kernel.