aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorMark Lord <liml@rtr.ca>2009-01-19 18:04:37 -0500
committerJeff Garzik <jgarzik@redhat.com>2009-01-26 06:36:41 -0500
commitb0bccb18bc523d1d5060d25958f12438062829a9 (patch)
treefeabdd05999a056d5313634437db91225e388648 /drivers/ata
parentsata_nv: fix MCP5x reset (diff)
downloadlinux-dev-b0bccb18bc523d1d5060d25958f12438062829a9.tar.xz
linux-dev-b0bccb18bc523d1d5060d25958f12438062829a9.zip
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>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/sata_mv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 86918634a4c5..ce9d6ad5a64f 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 */