It is not allowed to call kfree_skb() from hardware interrupt context or with interrupts being disabled. As the comment of dev_kfree_skb_irq() says, kfree_skb() can be replaced with dev_kfree_skb_irq(). v1 -> v2: Update commit messages. Yang Yingliang (4): libertas_tf: don't call kfree_skb() under spin_lock_irqsave() libertas/if_usb: don't call kfree_skb() under spin_lock_irqsave() libertas/main: don't call kfree_skb() under spin_lock_irqsave() libertas/cmdresp: don't call kfree_skb() under spin_lock_irqsave() drivers/net/wireless/marvell/libertas/cmdresp.c | 2 +- drivers/net/wireless/marvell/libertas/if_usb.c | 2 +- drivers/net/wireless/marvell/libertas/main.c | 2 +- drivers/net/wireless/marvell/libertas_tf/if_usb.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) -- 2.25.1