From 1bdacf88ebd7969fecbbf4c5b388cc094871222e Mon Sep 17 00:00:00 2001 From: Dan Malek Date: Sun, 1 May 2005 08:58:42 -0700 Subject: [PATCH] ppc32: workaround for spurious IRQs on PQ2 There is a problem with large amounts of spurious IRQs on PowerPC 82xx systems. The problem is corrected by adding sync at the end of cpm2_mask_and_ack. This may be needed on 8xx as well but has not yet been confirmed. Signed-off-by: Eugene Surovegin Signed-off-by: Dan Malek Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/ppc/syslib/cpm2_pic.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'arch/ppc/syslib/cpm2_pic.c') diff --git a/arch/ppc/syslib/cpm2_pic.c b/arch/ppc/syslib/cpm2_pic.c index 954b07fc1df3..c867be6981cb 100644 --- a/arch/ppc/syslib/cpm2_pic.c +++ b/arch/ppc/syslib/cpm2_pic.c @@ -107,6 +107,11 @@ static void cpm2_end_irq(unsigned int irq_nr) simr = &(cpm2_immr->im_intctl.ic_simrh); ppc_cached_irq_mask[word] |= 1 << bit; simr[word] = ppc_cached_irq_mask[word]; + /* + * Work around large numbers of spurious IRQs on PowerPC 82xx + * systems. + */ + mb(); } } -- cgit v1.2.3-59-g8ed1b