Re: [patch 2.6.28-rc2] at91_mci: workaround lockdep

From: Nicolas Ferre
Date: Mon Nov 03 2008 - 08:48:25 EST


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@xxxxxxxxxxxxxxxxxxxxx>

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/