sata_mv: fix 8-port timeouts on 508x/6081 chips

Fix a longstanding bug for the 8-port Marvell Sata controllers (508x/6081),
where accesses to the upper 4 ports would cause lost-interrupts / timeouts
for the lower 4-ports.  With this patch, the 6081 boards should finally be
reliable enough for mainstream use with Linux.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
Mark Lord 2009-01-19 18:04:37 -05:00 committed by Jeff Garzik
parent 2d775708bc
commit b0bccb18bc

View File

@ -883,7 +883,7 @@ static void mv_start_dma(struct ata_port *ap, void __iomem *port_mmio,
struct mv_host_priv *hpriv = ap->host->private_data; struct mv_host_priv *hpriv = ap->host->private_data;
int hardport = mv_hardport_from_port(ap->port_no); int hardport = mv_hardport_from_port(ap->port_no);
void __iomem *hc_mmio = mv_hc_base_from_port( void __iomem *hc_mmio = mv_hc_base_from_port(
mv_host_base(ap->host), hardport); mv_host_base(ap->host), ap->port_no);
u32 hc_irq_cause, ipending; u32 hc_irq_cause, ipending;
/* clear EDMA event indicators, if any */ /* clear EDMA event indicators, if any */