Re: [regression] Latest git has WARN_ON storm with e1000e driver

From: Linus Torvalds
Date: Fri Oct 03 2008 - 10:55:01 EST




On Fri, 3 Oct 2008, Christian Borntraeger wrote:
>
> This is caused by holding a spinlock (__driver_attach) and checking for
> preempt_count (e1000_acquire_swflag_ich8lan).

Which spinlock is it? It sure shouldn't be anything in the generic drievr
layer: __driver_attach takes a lock, but it's a semaphore (dev->sem), not
a spinlock. In fact, al lot of drivers will sleep or do allocations, so if
the driver layer were to call the probe function with a spinlock held,
things would be really broken.

The callchain has "spin_lock_irqsave" in it, but that's stale stack data.

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/