Re: [patch] net: dev_watchdog() locking fix

From: Ingo Molnar
Date: Mon Dec 11 2006 - 02:58:01 EST



* Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:

> > It spits a nasty during bringup
> >
> > e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
> > forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.59.
> > netconsole: device eth0 not up yet, forcing it
> > e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
> > WARNING (!__warned) at kernel/softirq.c:137 local_bh_enable()
>
> Normally networking isn't invoked with interrupts turned off, but I
> suppose we don't have a choice here. This is unique being a place
> where you can get called with BH on, off, or IRQs off.
>
> Given that this is only used for printk, the easiest solution is
> probably just to disable local IRQs instead of BH.

yeah. local_bh_enable() can execute pending softirqs and that warning
protects us against doing that from within irqs-off sections.

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