Signed-off-by: speech_white <humin29@huawei.com> (cherry picked from commit cde27f08d4dbefb7f03bfca6229f95cb88bf08a2)
64 lines
1.7 KiB
Diff
64 lines
1.7 KiB
Diff
From dc55ce9c6253664160b881a1b83b2b4f1e90a587 Mon Sep 17 00:00:00 2001
|
|
From: Huisong Li <lihuisong@huawei.com>
|
|
Date: Fri, 28 Jan 2022 10:07:03 +0800
|
|
Subject: [PATCH] net/hns3: fix max packet size rollback in PF
|
|
|
|
HNS3 PF driver use the hns->pf.mps to restore the MTU when a reset
|
|
occurs.
|
|
If user fails to configure the MTU, the MPS of PF may not be restored to
|
|
the original value.
|
|
|
|
Fixes: 25fb790f7868 ("net/hns3: fix HW buffer size on MTU update")
|
|
Fixes: 1f5ca0b460cd ("net/hns3: support some device operations")
|
|
Fixes: d51867db65c1 ("net/hns3: add initialization")
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Huisong Li <lihuisong@huawei.com>
|
|
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
|
|
---
|
|
drivers/net/hns3/hns3_ethdev.c | 11 ++++-------
|
|
1 file changed, 4 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
|
|
index a5114662d2..73bf209717 100644
|
|
--- a/drivers/net/hns3/hns3_ethdev.c
|
|
+++ b/drivers/net/hns3/hns3_ethdev.c
|
|
@@ -2075,7 +2075,6 @@ static int
|
|
hns3_config_mtu(struct hns3_hw *hw, uint16_t mps)
|
|
{
|
|
struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
|
|
- uint16_t original_mps = hns->pf.mps;
|
|
int err;
|
|
int ret;
|
|
|
|
@@ -2085,22 +2084,20 @@ hns3_config_mtu(struct hns3_hw *hw, uint16_t mps)
|
|
return ret;
|
|
}
|
|
|
|
- hns->pf.mps = mps;
|
|
ret = hns3_buffer_alloc(hw);
|
|
if (ret) {
|
|
hns3_err(hw, "failed to allocate buffer, ret = %d", ret);
|
|
goto rollback;
|
|
}
|
|
|
|
+ hns->pf.mps = mps;
|
|
+
|
|
return 0;
|
|
|
|
rollback:
|
|
- err = hns3_set_mac_mtu(hw, original_mps);
|
|
- if (err) {
|
|
+ err = hns3_set_mac_mtu(hw, hns->pf.mps);
|
|
+ if (err)
|
|
hns3_err(hw, "fail to rollback MTU, err = %d", err);
|
|
- return ret;
|
|
- }
|
|
- hns->pf.mps = original_mps;
|
|
|
|
return ret;
|
|
}
|
|
--
|
|
2.33.0
|
|
|