]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PM / yenta: Fix cardbus suspend/resume regression
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 28 Sep 2009 22:11:03 +0000 (00:11 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Oct 2009 15:28:06 +0000 (08:28 -0700)
commit51acd2e6291fe7527bfd3106f5535e68993de0f9
tree0cec630ca47b4aa9f9ee65fe96dc015ef0663e64
parent130abc03e8b7aeaefcdda3cb9c6915e91c0a78f5
PM / yenta: Fix cardbus suspend/resume regression

commit 0c570cdeb8fdfcb354a3e9cd81bfc6a09c19de0c upstream.

Since 2.6.29 the PCI PM core have been restoring the standard
configuration registers of PCI devices in the early phase of
resume.  In particular, PCI devices without drivers have been handled
this way since commit 355a72d75b3b4f4877db4c9070c798238028ecb5
(PCI: Rework default handling of suspend and resume).  Unfortunately,
this leads to post-resume problems with CardBus devices which cannot
be accessed in the early phase of resume, because the sockets they
are on have not been woken up yet at that point.

To solve this problem, move the yenta socket resume to the early
phase of resume and, analogously, move the suspend of it to the late
phase of suspend.  Additionally, remove some unnecessary PCI code
from the yenta socket's resume routine.

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13092, which is a
post-2.6.28 regression.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-by: Florian <fs-kernelbugzilla@spline.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pcmcia/yenta_socket.c