]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: lantiq: Wake TX queue again
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 12 Sep 2020 19:36:26 +0000 (21:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Sep 2020 16:03:14 +0000 (18:03 +0200)
[ Upstream commit dea36631e6f186d4b853af67a4aef2e35cfa8bb7 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/lantiq_xrx200.c

index 900affbdcc0e4f96739de09356ebd8804f37d299..1f968d0530a13f8c16dc8de48bceaa02227dde8e 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);