[net] net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY

Message ID 1666315944-30898-1-git-send-email-zhangchangzhong@huawei.com
State New
Headers
Series [net] net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY |

Commit Message

Zhang Changzhong Oct. 21, 2022, 1:32 a.m. UTC
  The ndo_start_xmit() method must not free skb when returning
NETDEV_TX_BUSY, since caller is going to requeue freed skb.

Fixes: 504d4721ee8e ("MIPS: Lantiq: Add ethernet driver")
Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
---
 drivers/net/ethernet/lantiq_etop.c | 1 -
 1 file changed, 1 deletion(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 24, 2022, 12:10 p.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Fri, 21 Oct 2022 09:32:24 +0800 you wrote:
> The ndo_start_xmit() method must not free skb when returning
> NETDEV_TX_BUSY, since caller is going to requeue freed skb.
> 
> Fixes: 504d4721ee8e ("MIPS: Lantiq: Add ethernet driver")
> Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
> ---
>  drivers/net/ethernet/lantiq_etop.c | 1 -
>  1 file changed, 1 deletion(-)

Here is the summary with links:
  - [net] net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY
    https://git.kernel.org/netdev/net/c/9c1eaa27ec59

You are awesome, thank you!
  

Patch

diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
index 59aab40..f5961bd 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -485,7 +485,6 @@  ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
 	len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
 
 	if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) {
-		dev_kfree_skb_any(skb);
 		netdev_err(dev, "tx ring full\n");
 		netif_tx_stop_queue(txq);
 		return NETDEV_TX_BUSY;