mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
net: hns3: fix incorrect components info of ethtool --reset command
[ Upstream commit82229c4dbb] Currently, HNS3 driver doesn't clear the reset flags of components after successfully executing reset, it causes userspace info of "Components reset" and "Components not reset" is incorrect. So fix this problem by clear corresponding reset flag after reset process. Fixes:ddccc5e368("net: hns3: add support for triggering reset by ethtool") Signed-off-by: Jie Wang <wangjie125@huawei.com> Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
41f967a247
commit
d1e71d7d22
@@ -985,6 +985,7 @@ static int hns3_set_reset(struct net_device *netdev, u32 *flags)
|
||||
struct hnae3_ae_dev *ae_dev = pci_get_drvdata(h->pdev);
|
||||
const struct hnae3_ae_ops *ops = h->ae_algo->ops;
|
||||
const struct hns3_reset_type_map *rst_type_map;
|
||||
enum ethtool_reset_flags rst_flags;
|
||||
u32 i, size;
|
||||
|
||||
if (ops->ae_dev_resetting && ops->ae_dev_resetting(h))
|
||||
@@ -1004,6 +1005,7 @@ static int hns3_set_reset(struct net_device *netdev, u32 *flags)
|
||||
for (i = 0; i < size; i++) {
|
||||
if (rst_type_map[i].rst_flags == *flags) {
|
||||
rst_type = rst_type_map[i].rst_type;
|
||||
rst_flags = rst_type_map[i].rst_flags;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1019,6 +1021,8 @@ static int hns3_set_reset(struct net_device *netdev, u32 *flags)
|
||||
|
||||
ops->reset_event(h->pdev, h);
|
||||
|
||||
*flags &= ~rst_flags;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user