• Tejun Heo's avatar
    ata_piix: save, use saved and restore IOCFG · 2852bcf7
    Tejun Heo authored
    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: default avatarTejun Heo <tj@kernel.org>
    Cc: Andreas Mohr <andi@lisas.de>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    2852bcf7
ata_piix.c 42.1 KB