diff options
author | Mark Lord <liml@rtr.ca> | 2009-04-06 12:29:49 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2009-04-06 20:13:33 -0400 |
commit | 44c65d169c5d2e5c872581ebc65f12710d7c3b71 (patch) | |
tree | fa64f6fa65689972ded247b14238f34857eb2253 /drivers/ata/sata_mv.c | |
parent | 4c1e9aa41b2f9afe8f26e2efe5bb4695f6c40772 (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/sata_mv.c')
-rw-r--r-- | drivers/ata/sata_mv.c | 10 |
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. |