sata_mv: fix pmp drives not found
authorMark Lord <liml@rtr.ca>
Sat, 17 May 2008 17:36:30 +0000 (13:36 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Mon, 19 May 2008 21:29:51 +0000 (17:29 -0400)
commit88e675e193159b9891c1c576de4348eaf490f5d0
tree6af356c51ed75d862ac7aa731a9aeea49e340eb6
parentc4de573b14d78ac83861d81d12977457d1e9cb6d
sata_mv: fix pmp drives not found

Part three of simplifying/fixing handling of the main_irq_mask register
to resolve unexpected interrupt issues observed in 2.6.26-rc*.

Partially fix a reported bug whereby we sometimes miss seeing drives on
a port-multiplier, as reported by Gwendal Grignou <gwendal@google.com>.

The problem was that we were receiving unexpected interrupts
during EH from POLLed commands while accessing port-multiplier registers.
These unexpected interrupts can be prevented by masking the DONE_IRQ bit
for the port whenever not operating in EDMA mode.

Also fix port_stop() to mask all port interrupts.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/sata_mv.c