diff mbox

[net-next] rtlwifi: Use dev_kfree_skb_irq instead of kfree_skb

Message ID 1478011720-27363-1-git-send-email-weiyj.lk@gmail.com (mailing list archive)
State Accepted
Commit e49656147359411fb7529a211e852e587e5970dd
Delegated to: Kalle Valo
Headers show

Commit Message

Wei Yongjun Nov. 1, 2016, 2:48 p.m. UTC
From: Wei Yongjun <weiyongjun1@huawei.com>

It is not allowed to call kfree_skb() from hardware interrupt
context or with interrupts being disabled, spin_lock_irqsave()
make sure always in irq disable context. So the kfree_skb()
should be replaced with dev_kfree_skb_irq().

This is detected by Coccinelle semantic patch.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/net/wireless/realtek/rtlwifi/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo Nov. 17, 2016, 6:48 a.m. UTC | #1
Wei Yongjun <weiyj.lk@gmail.com> wrote:
> From: Wei Yongjun <weiyongjun1@huawei.com>
> 
> It is not allowed to call kfree_skb() from hardware interrupt
> context or with interrupts being disabled, spin_lock_irqsave()
> make sure always in irq disable context. So the kfree_skb()
> should be replaced with dev_kfree_skb_irq().
> 
> This is detected by Coccinelle semantic patch.
> 
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>

Patch applied to wireless-drivers-next.git, thanks.

e49656147359 rtlwifi: Use dev_kfree_skb_irq instead of kfree_skb
diff mbox

Patch

diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
index 8e7f23c..e89681d 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
@@ -1832,7 +1832,7 @@  bool rtl_cmd_send_packet(struct ieee80211_hw *hw, struct sk_buff *skb)
 
 	spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags);
 	pskb = __skb_dequeue(&ring->queue);
-	kfree_skb(pskb);
+	dev_kfree_skb_irq(pskb);
 
 	/*this is wrong, fill_tx_cmddesc needs update*/
 	pdesc = &ring->desc[0];