aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorMark Lord <liml@rtr.ca>2009-04-06 12:29:49 -0400
committerJeff Garzik <jgarzik@redhat.com>2009-04-06 20:13:33 -0400
commit44c65d169c5d2e5c872581ebc65f12710d7c3b71 (patch)
treefa64f6fa65689972ded247b14238f34857eb2253 /drivers/ata
parent4c1e9aa41b2f9afe8f26e2efe5bb4695f6c40772 (diff)
sata_mv: revert SoC irq breakage
Revert most of commit 6be96ac1d5e4d913e1f48299db083ada5321803b2, originally from Lennert Buijtenheck (Marvell) and Saeed Bishara (Marvell), since that commit causes sata_mv to oops at startup on SOC "Kirkwood". The SOC variants do not have the hpriv->irq_{cause,mask}_ofs registers, so don't try to write to them! This patch should also be considered for -stable. Reported-by: Maxime Bizon <mbizon@freebox.fr> 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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index a377226b81c8..be9ae4fc5cbe 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -3734,11 +3734,13 @@ static int mv_init_host(struct ata_host *host, unsigned int board_idx)
3734 writelfl(0, hc_mmio + HC_IRQ_CAUSE_OFS); 3734 writelfl(0, hc_mmio + HC_IRQ_CAUSE_OFS);
3735 } 3735 }
3736 3736
3737 /* Clear any currently outstanding host interrupt conditions */ 3737 if (!IS_SOC(hpriv)) {
3738 writelfl(0, mmio + hpriv->irq_cause_ofs); 3738 /* Clear any currently outstanding host interrupt conditions */
3739 writelfl(0, mmio + hpriv->irq_cause_ofs);
3739 3740
3740 /* and unmask interrupt generation for host regs */ 3741 /* and unmask interrupt generation for host regs */
3741 writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs); 3742 writelfl(hpriv->unmask_all_irqs, mmio + hpriv->irq_mask_ofs);
3743 }
3742 3744
3743 /* 3745 /*
3744 * enable only global host interrupts for now. 3746 * enable only global host interrupts for now.