From: Ronny Meeus <redacted>
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.