tulip: fix hang in dmfe driver on sending of big packet
This patch fixes hang in dmfe driver on attempt of sending a big packet. Without this patch the code stops the queue and never wakes it again. Signed-off-by: Alexander V. Lukyanov <lav@netis.ru> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
f8e9616108
Коммит
e7dfc8dbdf
|
@ -688,9 +688,6 @@ static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb,
|
|||
|
||||
DMFE_DBUG(0, "dmfe_start_xmit", 0);
|
||||
|
||||
/* Resource flag check */
|
||||
netif_stop_queue(dev);
|
||||
|
||||
/* Too large packet check */
|
||||
if (skb->len > MAX_PACKET_SIZE) {
|
||||
pr_err("big packet = %d\n", (u16)skb->len);
|
||||
|
@ -698,6 +695,9 @@ static netdev_tx_t dmfe_start_xmit(struct sk_buff *skb,
|
|||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
/* Resource flag check */
|
||||
netif_stop_queue(dev);
|
||||
|
||||
spin_lock_irqsave(&db->lock, flags);
|
||||
|
||||
/* No Tx resource check, it never happen nromally */
|
||||
|
|
Загрузка…
Ссылка в новой задаче