[PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers
authorTejun Heo <htejun@gmail.com>
Wed, 29 Nov 2006 02:33:14 +0000 (11:33 +0900)
committerTejun Heo <htejun@gmail.com>
Wed, 29 Nov 2006 05:57:44 +0000 (14:57 +0900)
commit41669553353554211310cdb23079d58af1fda41e
tree2aace00509badc17ad432fa5e2b83f56b6d7453e
parent08475a1920aa7acc535324d6991b830fa7625bd8
[PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers

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: Tejun Heo <htejun@gmail.com>
Cc: Justin Tsai <justin@jmicron.com>
drivers/ata/ahci.c