net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY
[ Upstream commit9c1eaa27ec
] The ndo_start_xmit() method must not free skb when returning NETDEV_TX_BUSY, since caller is going to requeue freed skb. Fixes:504d4721ee
("MIPS: Lantiq: Add ethernet driver") Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
a1e18acb02
Коммит
ef27df7591
|
@ -466,7 +466,6 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
|
||||||
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
|
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
|
||||||
|
|
||||||
if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) {
|
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");
|
netdev_err(dev, "tx ring full\n");
|
||||||
netif_tx_stop_queue(txq);
|
netif_tx_stop_queue(txq);
|
||||||
return NETDEV_TX_BUSY;
|
return NETDEV_TX_BUSY;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче