ata_piix: fix suspend/resume for some TOSHIBA laptops
authorTejun Heo <htejun@gmail.com>
Tue, 10 Jul 2007 06:55:43 +0000 (15:55 +0900)
committerJeff Garzik <jeff@garzik.org>
Tue, 24 Jul 2007 20:55:01 +0000 (16:55 -0400)
commitb8b275efc28e34f9b1d1e382d0b02dfa381b2a79
tree81eea69b15307e96afb63d676f9027268a67cca8
parentf0a664bbd1839fbe9f57564983f39bfc6c6f931d
ata_piix: fix suspend/resume for some TOSHIBA laptops

ACPI implementations in several TOSHIBA laptops are weird and burn cpu
cycles for tens of seconds while trying to suspend if the PCI device
for the ATA controller is disabled when the ACPI suspend is called.

This patch uses DMI to match those machines and bypass device disable
on those machines during suspend.  As the device needs to be put into
enabled state on resume without affecting PCI enable count, matching
resume callback uses __pci_reenable_device().

This bug is reported in bugzilla bug 7780.

  http://bugzilla.kernel.org/show_bug.cgi?id=7780

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/ata_piix.c
include/linux/libata.h