• Tejun Heo's avatar
    sata_sil: fix spurious IRQ handling · 8cf32ac6
    Tejun Heo authored
    Interestingly, sata_sil raises spurious interrupts if it's coupled
    with Sil SATA_PATA bridge.  Currently, sata_sil interrupt handler is
    strict about spurious interrupts and freezes the port when it occurs.
    This patch makes it more forgiving.
    
    * On SATA PHY event interrupt, serror value is checked to see whether
      it really is PHYRDY CHG event.  If not, SATA PHY event interrupt is
      ignored.
    
    * If ATA interrupt occurs while no command is in progress, it's
      cleared and ignored.
    
    This fixes bugzilla bug 9505.
    
      http://bugzilla.kernel.org/show_bug.cgi?id=9505Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    8cf32ac6
sata_sil.c 19.9 KB