Messages in this thread | | | Date | Fri, 26 Dec 2003 14:34:54 -0800 | From | "David S. Miller" <> | Subject | Re: (irda) Badness in local_bh_enable at kernel/softirq.c:121 |
| |
On Fri, 26 Dec 2003 13:00:31 +0000 Russell King <rmk+lkml@arm.linux.org.uk> wrote:
> I've just been testing w83977af_ir with ircomm on a NetWinder (ARM) and > a Nokia mobile phone, and, while closing down the connection by exiting > minicom, I saw this which looks particularly evil. I'm not sure exactly > when this occurred because I was running minicom over ssh.
This is akin to the PPP issues, and all of this basically is telling that the TTY driver's locking conflicts with networking quite badly.
In this case:
> Badness in local_bh_enable at kernel/softirq.c:121 > [<c00429c4>] (local_bh_enable+0x0/0x84) from [<c014d1b4>] (dev_queue_xmit+0x108/0x20c) > [<c014d0ac>] (dev_queue_xmit+0x0/0x20c) from [<bf00ee68>] (irlap_send_data_primary_poll+0xdc/0x1c4 [irda])
local_bh_enable() with hardware interrupts disabled, which is racy and illegal. Who disabled CPU interrupts? Let's see:
> [<bf03b4b0>] (ircomm_tty_shutdown+0x0/0x178 [ircomm_tty]) from [<bf03a9c0>] (ircomm_tty_close+0x15c/0x240 [ircomm_tty])
And this is where the spin_lock_irqsave() occurs, that leads to all of the trouble. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |