ide: fix resume for CONFIG_BLK_DEV_IDEACPI=y
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 30 Jun 2009 02:20:42 +0000 (19:20 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Jun 2009 02:20:42 +0000 (19:20 -0700)
commit2bf427b25b79eb7cea27963a66c3d4684cae0e0c
tree23d8da7a647b91eaaf3b63d7c09ae3f115a88428
parent9c72ebef5aabf3532469d602a9d87beceea268b1
ide: fix resume for CONFIG_BLK_DEV_IDEACPI=y

commit 2f0d0fd2a605666d38e290c5c0d2907484352dc4 ("ide-acpi: cleanup
do_drive_get_GTF()") didn't account for the lack of hwif->acpidata
check in generic_ide_suspend() [ indirect user of do_drive_get_GTF()
through ide_acpi_exec_tfs() ] resulting in broken resume when ACPI
support is enabled but ACPI data is unavailable.

Fix it by adding ide_port_acpi() helper for checking if port needs
ACPI handling and cleaning generic_ide_{suspend,resume}() to use it
instead of hiding hwif->acpidata and ide_noacpi checks in IDE ACPI
helpers (this should help in preventing similar bugs in the future).

While at it:
- kill superfluous debugging printks in ide_acpi_{get,push}_timing()

Reported-and-tested-by: Etienne Basset <etienne.basset@numericable.fr>
Also-reported-and-tested-by: Jeff Chua <jeff.chua.linux@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ide/ide-acpi.c
drivers/ide/ide-pm.c
include/linux/ide.h