• T
    [PATCH] sata_sil: update device hotplug handling, take #2 · d4c85325
    Tejun Heo 提交于
    SIEN on some 3112 controllers doesn't mask SATA IRQ properly.  IRQ
    stays asserted even after SIEN is masked and IRQ is acked.  Also, even
    while frozen, any SATA PHY event including hardreset raises SATA IRQ.
    Clearing SError seems to be the only way to deassert SATA IRQ.
    
    This patch makes sil_host_intr() clear SError on SATA IRQs and ignore
    SATA IRQs reported while frozen so that hardreset doesn't trigger
    hotplug event (which ends up hardresetting again).
    
    In such cases, the port still gets re-frozen to minimize the danger of
    screaming interrupts.  This results in one nil EH repeat on
    controllers with broken SIEN but other than that does no harm.
    Signed-off-by: NTejun Heo <htejun@gmail.com>
    Signed-off-by: NJeff Garzik <jeff@garzik.org>
    d4c85325
sata_sil.c 18.7 KB