PM / yenta: Fix cardbus suspend/resume regression
Rafael J. Wysocki authored
commit 0c570cde 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 355a72d7
(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: default avatarRafael J. Wysocki <rjw@sisk.pl>
Reported-by: default avatarFlorian <fs-kernelbugzilla@spline.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
51acd2e6
Name Last commit Last update
..
accessibility braille_console: only register notifiers when the braille console is used
acpi ACPI: pci_slot.ko wants a 64-bit _SUN
amba amba: struct device - replace bus_id with dev_name(), dev_set_name()
ata ahci: restore pci_intx() handling
atm Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n)
auxdisplay auxdisplay: remove PARPORT dependency
base Driver Core: do not oops when driver_unregister() is called for unregistered drivers
block virtio_blk: don't bounce highmem requests
bluetooth Bluetooth: Remove some pointless conditionals before kfree_skb()
cdrom cdrom: beyond ARRAY_SIZE of viocd_diskinfo
char TPM: Fixup boot probe timeout for tpm_tis driver
clocksource clocksource: pass clocksource to read() callback
connector connector: create connector workqueue only while needed once
cpufreq cpumask: alloc zeroed cpumask for static cpumask_var_ts
cpuidle cpuidle: Add decaying history logic to menu idle predictor
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
dca Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
dio dio: struct device - replace bus_id with dev_name(), dev_set_name()
dma Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
edac edac: x38 fix mchbar high register addr
eisa Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2
firewire firewire: sbp2: add support for disks >2 TB (and 16 bytes long CDBs)
firmware firmware_map: fix hang with x86/32bit
gpio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
gpu drm/i915: Set SSC frequency for 8xx chips correctly
hid
hwmon
i2c
ide
idle
ieee1394
infiniband
input
isdn
leds
lguest
macintosh
mca
md
media
memstick
message
mfd
misc
mmc
mtd
net
nubus
of
oprofile
parisc
parport
pci
pcmcia
platform
pnp
power
ps3
rapidio
regulator
rtc
s390
sbus
scsi
serial
sh
sn
spi
ssb
staging
tc
telephony
thermal
uio
usb
uwb
video
virtio
w1
watchdog
xen
zorro
Kconfig
Makefile