It is not allowed to call kfree_skb() from hardware interrupt context or with interrupts being disabled. This patchset is trying to use dev_kfree_skb_irq() or add all skb to a free list, then free them after spin_unlock_irqrestore() at once. Changes in v2: - Combine the three patches into one patch set. - Update the commit message and subject prefix. Jinjie Ruan (3): staging: rtl8192e: rtl_core: Call dev_kfree_skb_irq() instead of kfree_skb() under spin_lock_irqsave() staging: rtl8192e: rtl_core: Do not call kfree_skb() under spin_lock_irqsave() for _rtl92e_irq() Staging: rtl8192e: rtllib_softmac: Do not call kfree_skb() under spin_lock_irqsave() drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 24 ++++++++++++-------- drivers/staging/rtl8192e/rtllib_softmac.c | 6 ++++- 2 files changed, 19 insertions(+), 11 deletions(-) -- 2.34.1