summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorYunsheng Lin <linyunsheng@huawei.com>2019-12-05 10:12:27 +0800
committerDavid S. Miller <davem@davemloft.net>2019-12-05 14:42:43 -0800
commit2a597eff2437d21841a1e87ffa536ab69dbffdcf (patch)
tree77f525bc175fc602837123c0c416de117eb16d36 /init
parentaacf6578ef7704d8df252bbc146b1a35ca131248 (diff)
downloadlinux-2a597eff2437d21841a1e87ffa536ab69dbffdcf.tar.bz2
net: hns3: fix for TX queue not restarted problem
There is timing window between ring_space checking and netif_stop_subqueue when transmiting a SKB, and the TX BD cleaning may be executed during the time window, which may caused TX queue not restarted problem. This patch fixes it by rechecking the ring_space after netif_stop_subqueue to make sure TX queue is restarted. Also, the ring->next_to_clean is updated even when pkts is zero, because all the TX BD cleaned may be non-SKB, so it needs to check if TX queue need to be restarted. Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC") Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions