]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: hns3: fix a TX timeout issue
authorYonglong Liu <liuyonglong@huawei.com>
Tue, 28 Jul 2020 02:16:49 +0000 (10:16 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Aug 2020 07:58:41 +0000 (09:58 +0200)
commit27db51ffbf40be084d8132afb26152e55753e3ab
tree718cec9f66b0c67320686773e0269c99d1edabb1
parentb404147128db4cbebe81524ceb8e13ed7c120f32
net: hns3: fix a TX timeout issue

[ Upstream commit a7e90ee5965fafc53d36e8b3205f08c88d7bc11f ]

When the queue depth and queue parameters are modified, there is
a low probability that TX timeout occurs. The two operations cause
the link to be down or up when the watchdog is still working. All
queues are stopped when the link is down. After the carrier is on,
all queues are woken up. If the watchdog detects the link between
the carrier on and wakeup queues, a false TX timeout occurs.

So fix this issue by modifying the sequence of carrier on and queue
wakeup, which is symmetrical to the link down action.

Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c