• Tejun Heo's avatar
    [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers · 41669553
    Tejun Heo authored
    JMicron AHCI controllers set PORT_IRQ_IF_ERR on device errors.  The
    IRQ status bit indicates interface error or protocol mismatch and ahci
    driver interprets it into AC_ERR_ATA_BUS.  So, whenever an ATAPI
    device raises check condition, ahci interprets it as ATA bus error and
    thus resets it which, in turn, raises check condition thus creating a
    reset loop and rendering the device unuseable.
    
    This patch makes JMB controllers ignore PORT_IRQ_IF_ERR when
    interpreting error condition.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Cc: Justin Tsai <justin@jmicron.com>
    41669553
ahci.c 43.7 KB