• T
    ata_piix: save, use saved and restore IOCFG · 2852bcf7
    Tejun Heo 提交于
    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: NTejun Heo <tj@kernel.org>
    Cc: Andreas Mohr <andi@lisas.de>
    Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
    2852bcf7
ata_piix.c 42.1 KB