]> git.baikalelectronics.ru Git - kernel.git/commit
ata_piix: save, use saved and restore IOCFG
authorTejun Heo <tj@kernel.org>
Fri, 2 Jan 2009 03:04:48 +0000 (12:04 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Thu, 8 Jan 2009 21:09:43 +0000 (16:09 -0500)
commite6017782137845decd94164884e0fcacf1aa0015
tree82a36950e8b3926573d95b23b344e19149915502
parent0cd88f43d1552dfdae3251029720afa7f373e7fa
ata_piix: save, use saved and restore IOCFG

Certain ACPI implementations mess up IOCFG on _STM making libata
detect cable type incorrectly after a suspend/resume cycle.  This
patch makes ata_piix save IOCFG on attach, use the saved value for
things which aren't dynamic and restore it on detach so that the next
driver also gets the BIOS initialized value.

This patch contains the following changes.

* makes ich_pata_cable_detect() use saved_iocfg.

* make piix_iocfg_bit18_quirk() take @host and use saved_iocfg.

* hpriv allocation moved upwards to save iocfg before doing anything
  else.

This fixes bz#11879.  Andreas Mohr reported and diagnosed the problem.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Andreas Mohr <andi@lisas.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ata_piix.c