From: Masahisa Kojima Date: Tue, 23 Oct 2018 11:24:28 +0000 (+0900) Subject: net: socionext: Reset tx queue in ndo_stop X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8d5b0bf611ec5b7618d5b772dddc93b8afa78cb8;p=linux.git net: socionext: Reset tx queue in ndo_stop We observed that packets and bytes count are not reset when user performs interface down. Eventually, tx queue is exhausted and packets will not be sent out. To avoid this problem, resets tx queue in ndo_stop. Fixes: 533dd11a12f6 ("net: socionext: Add Synquacer NetSec driver") Signed-off-by: Masahisa Kojima Signed-off-by: Yoshitoyo Osaki Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/socionext/netsec.c b/drivers/net/ethernet/socionext/netsec.c index dbf71e1fa701d..d9d0d03e4ce79 100644 --- a/drivers/net/ethernet/socionext/netsec.c +++ b/drivers/net/ethernet/socionext/netsec.c @@ -955,6 +955,9 @@ static void netsec_uninit_pkt_dring(struct netsec_priv *priv, int id) dring->head = 0; dring->tail = 0; dring->pkt_cnt = 0; + + if (id == NETSEC_RING_TX) + netdev_reset_queue(priv->ndev); } static void netsec_free_dring(struct netsec_priv *priv, int id)