net: lantiq: Wake TX queue again
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 12 Sep 2020 19:36:26 +0000 (21:36 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Sep 2020 21:53:15 +0000 (14:53 -0700)
The call to netif_wake_queue() when the TX descriptors were freed was
missing. When there are no TX buffers available the TX queue will be
stopped, but it was not started again when they are available again,
this is fixed in this patch.

Fixes: fe1a56420cf2 ("net: lantiq: Add Lantiq / Intel VRX200 Ethernet driver")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/lantiq_xrx200.c

index 1645e4e7ebdbb3c7abff8fe4207273df20f123d4..1feb9fc710e08d1dbf7fa22075aaf3b017bfa927 100644 (file)
@@ -268,6 +268,9 @@ static int xrx200_tx_housekeeping(struct napi_struct *napi, int budget)
        net_dev->stats.tx_bytes += bytes;
        netdev_completed_queue(ch->priv->net_dev, pkts, bytes);
 
+       if (netif_queue_stopped(net_dev))
+               netif_wake_queue(net_dev);
+
        if (pkts < budget) {
                napi_complete(&ch->napi);
                ltq_dma_enable_irq(&ch->dma);