summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShaohui Xie <Shaohui.Xie@freescale.com>2011-06-03 04:45:11 +0200
committerKumar Gala <galak@kernel.crashing.org>2011-06-03 07:09:09 +0200
commit704102a6799ecf7c1b268a43452761dae335f29c (patch)
tree42813e5451f0454262a8cf5054a0fb453583e24e
parentpowerpc/book3e: Fix CPU feature handling on e5500 in 32-bit mode (diff)
downloadlinux-704102a6799ecf7c1b268a43452761dae335f29c.tar.xz
linux-704102a6799ecf7c1b268a43452761dae335f29c.zip
powerpc/85xx: fix race bug of calling request_irq after enable elbc interrupts
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
-rw-r--r--arch/powerpc/sysdev/fsl_lbc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/sysdev/fsl_lbc.c b/arch/powerpc/sysdev/fsl_lbc.c
index 0608b1657da4..d917573cf1a8 100644
--- a/arch/powerpc/sysdev/fsl_lbc.c
+++ b/arch/powerpc/sysdev/fsl_lbc.c
@@ -196,9 +196,6 @@ static int __devinit fsl_lbc_ctrl_init(struct fsl_lbc_ctrl *ctrl,
out_be32(&lbc->lteccr, LTECCR_CLEAR);
out_be32(&lbc->ltedr, LTEDR_ENABLE);
- /* Enable interrupts for any detected events */
- out_be32(&lbc->lteir, LTEIR_ENABLE);
-
/* Set the monitor timeout value to the maximum for erratum A001 */
if (of_device_is_compatible(node, "fsl,elbc"))
clrsetbits_be32(&lbc->lbcr, LBCR_BMT, LBCR_BMTPS);
@@ -322,6 +319,9 @@ static int __devinit fsl_lbc_ctrl_probe(struct platform_device *dev)
goto err;
}
+ /* Enable interrupts for any detected events */
+ out_be32(&fsl_lbc_ctrl_dev->regs->lteir, LTEIR_ENABLE);
+
return 0;
err: