]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
sata_mv: fix 8-port timeouts on 508x/6081 chips
authorMark Lord <liml@rtr.ca>
Mon, 19 Jan 2009 23:04:37 +0000 (18:04 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 6 Feb 2009 22:00:35 +0000 (14:00 -0800)
commit b0bccb18bc523d1d5060d25958f12438062829a9 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ata/sata_mv.c

index c815f8ecf6e64c758eb2a43deebc5c20f259ab03..8ce6df0967a73779b6bb2697adbab1348f0b5e35 100644 (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;
                int hardport = mv_hardport_from_port(ap->port_no);
                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;
 
                /* clear EDMA event indicators, if any */