Re: [BUG][2.6.38] IRQ Lock Inversion / i915 fails

From: Linus Torvalds
Date: Thu Mar 17 2011 - 13:36:01 EST


On Thu, Mar 17, 2011 at 10:15 AM, Takashi Iwai <tiwai@xxxxxxx> wrote:
>
> The trigger callback should be called always in irq-disabled context,
> so this should be OK.

Oh, ok. I missed the snd_pcm_action_lock_irq() thing disabling
interrupts in that call sequence..

> But loopback_pos_update() is called in the
> timer callback, and this can be the issue.

Hmm. If the timer callback is the only other case doing that, then
that should be ok.

In fact, now that I look at that lockdep thing, I'm confused. Where
does the hard irq come in at all for that lock? It seems to come from
self_group.lock, but I don't see why/how they nest.

That said, the sound locking is odd, I'm sure you see it. But a
commentary about how this came about in the changelog would be good.

Linus
--
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/