• Tejun Heo's avatar
    [PATCH] ata_piix: fix ghost device probing by honoring PCS present bits · f1a58eca
    Tejun Heo authored
    Move out PCS handling from piix_sata_prereset() into
    piix_sata_present_mask() and use it from newly implemented
    piix_sata_softreset().  Class codes for devices which are indicated to
    be absent by PCS are cleared to ATA_DEV_NONE.  This fixes ghost device
    problem reported on ICH6 and 7.
    
    This patch moves PCS handling from prereset to softreset, which makes
    two behavior changes.
    
    * perform softreset even when PCS indicates no device
    * PCS handling is repeated before retrying softresets due to reset
      failures.
    
    Both behavior changes are intended and more consistent with how other
    drivers behave.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    f1a58eca
ata_piix.c 26.5 KB