From: Mark Lord Date: Mon, 19 Jan 2009 23:04:37 +0000 (-0500) Subject: sata_mv: fix 8-port timeouts on 508x/6081 chips X-Git-Tag: v2.6.29-rc3~13^2~7 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=b0bccb18bc523d1d5060d25958f12438062829a9;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 86918634a4c..ce9d6ad5a64 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c @@ -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 */