softirqs are invoked while bottom halves are masked
David Miller
davem at davemloft.net
Tue Jul 12 22:08:17 EST 2011
From: Ronny Meeus <ronny.meeus at gmail.com>
Date: Tue, 12 Jul 2011 14:03:04 +0200
> but we still see the issue "BUG: sleeping function called from invalid context":
>
> [ 91.015989] BUG: sleeping function called from invalid context at
> include/linux/skbuff.h:786
> [ 91.117096] in_atomic(): 1, irqs_disabled(): 0, pid: 1865, name: NMTX_T1842
> [ 91.200461] Call Trace:
> [ 91.229672] [ec58bbd0] [c000789c] show_stack+0x78/0x18c (unreliable)
> [ 91.305791] [ec58bc10] [c0022900] __might_sleep+0x100/0x118
> [ 91.372524] [ec58bc20] [c029f8d8] dpa_tx+0x128/0x758
Because this dpa driver's transmit method is doing something else that
is not allowed in software interrupt context.
You must remove all things that might sleep in this driver's
->ndo_start_xmit method, and I do mean everything.
More information about the Linuxppc-dev
mailing list