]> git.baikalelectronics.ru Git - kernel.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)
committerRafael J. Wysocki <rjw@sisk.pl>
Mon, 28 Sep 2009 22:11:03 +0000 (00:11 +0200)
commit7b7cfb436ec2566edeea9d0634a5708db397ecb0
treec03720a154e5f29bd7cbd94c880d2daeda2451a6
parentb3bef80dcc360e70b25d46d5a34ddd54ca753644
PM / yenta: Fix cardbus suspend/resume regression

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 9b1199ee6a4a40eec08a0b07c4ab19a6d6056def
(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>
Cc: stable@kernel.org
drivers/pcmcia/yenta_socket.c