Messages in this thread | | | Date | Mon, 03 Nov 2008 14:47:33 +0100 | From | Nicolas Ferre <> | Subject | Re: [patch 2.6.28-rc2] at91_mci: workaround lockdep |
| |
David Brownell : > On Tuesday 28 October 2008, Peter Zijlstra wrote: >> On Mon, 2008-10-27 at 14:26 -0700, David Brownell wrote: >>> From: David Brownell <dbrownell@users.sourceforge.net> >>> >>> Lockdep reported a problem in the at91_mci driver ... in this case, the >>> issue is with lockdep, not with the driver. ... >>> >>> When __flush_dcache_aliases() returns -- inlined into flush_dcache_page(), >>> above -- it re-enables IRQs ... since that evidently may only be called with >>> IRQs enabled. That's OK since the (unshared) IRQ handler doesn't ask for IRQs >>> to be disabled. Except ... that lockdep went and disabled them, then went on >>> to complains about the breakage *it* caused! >>> >>> Workaround: depend on LOCKDEP=n ... >> In all previous such cases it was deemed the IRQ handler should deal >> with whatever it gets. > > In which case I'll wait until someone changes that IRQ handler (or that > ARM MM utility, or lockdep), and give up using AT91 platforms for sanity > testing kernel changes; lockdep is important, when it doesn't lie.
Changing IRQ handler in this driver... seem to be a big work.
Well, Dave, I tend to acknowledge your patch above as the IRQ for MCI is indeed a dedicated line (no need for IRQF_SHARED).
Are you ok with this ?
Regards, -- Nicolas Ferre
| |