[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 <ebs@ebshome.net>
Signed-off-by: Dan Malek <dan@embeddedalley.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Dan Malek 2005-05-01 08:58:42 -07:00 committed by Linus Torvalds
parent d5812a77e5
commit 1bdacf88eb
1 changed files with 5 additions and 0 deletions

View File

@ -107,6 +107,11 @@ static void cpm2_end_irq(unsigned int irq_nr)
simr = &(cpm2_immr->im_intctl.ic_simrh); simr = &(cpm2_immr->im_intctl.ic_simrh);
ppc_cached_irq_mask[word] |= 1 << bit; ppc_cached_irq_mask[word] |= 1 << bit;
simr[word] = ppc_cached_irq_mask[word]; simr[word] = ppc_cached_irq_mask[word];
/*
* Work around large numbers of spurious IRQs on PowerPC 82xx
* systems.
*/
mb();
} }
} }