net: hns3: reset tqp while doing DOWN operation
While doing DOWN operation, the driver will reclaim the memory which has already used for TX. If the hardware is processing this memory, it will cause a RCB error to the hardware. According the hardware's description, the driver should reset the tqp before reclaim the memory during DOWN. Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: Peng Li <lipeng321@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75edb61086
commit
39cfbc9c4f
@ -5331,6 +5331,7 @@ static void hclge_ae_stop(struct hnae3_handle *handle)
|
||||
{
|
||||
struct hclge_vport *vport = hclge_get_vport(handle);
|
||||
struct hclge_dev *hdev = vport->back;
|
||||
int i;
|
||||
|
||||
set_bit(HCLGE_STATE_DOWN, &hdev->state);
|
||||
|
||||
@ -5343,6 +5344,9 @@ static void hclge_ae_stop(struct hnae3_handle *handle)
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < handle->kinfo.num_tqps; i++)
|
||||
hclge_reset_tqp(handle, i);
|
||||
|
||||
/* Mac disable */
|
||||
hclge_cfg_mac_mode(hdev, false);
|
||||
|
||||
|
@ -1870,9 +1870,13 @@ static int hclgevf_ae_start(struct hnae3_handle *handle)
|
||||
static void hclgevf_ae_stop(struct hnae3_handle *handle)
|
||||
{
|
||||
struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle);
|
||||
int i;
|
||||
|
||||
set_bit(HCLGEVF_STATE_DOWN, &hdev->state);
|
||||
|
||||
for (i = 0; i < handle->kinfo.num_tqps; i++)
|
||||
hclgevf_reset_tqp(handle, i);
|
||||
|
||||
/* reset tqp stats */
|
||||
hclgevf_reset_tqp_stats(handle);
|
||||
hclgevf_update_link_status(hdev, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user