|
@@ -1223,6 +1223,10 @@ static int hclge_mac_pause_setup_hw(struct hclge_dev *hdev)
|
|
tx_en = true;
|
|
tx_en = true;
|
|
rx_en = true;
|
|
rx_en = true;
|
|
break;
|
|
break;
|
|
|
|
+ case HCLGE_FC_PFC:
|
|
|
|
+ tx_en = false;
|
|
|
|
+ rx_en = false;
|
|
|
|
+ break;
|
|
default:
|
|
default:
|
|
tx_en = true;
|
|
tx_en = true;
|
|
rx_en = true;
|
|
rx_en = true;
|
|
@@ -1240,8 +1244,9 @@ int hclge_pause_setup_hw(struct hclge_dev *hdev)
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
- if (hdev->tm_info.fc_mode != HCLGE_FC_PFC)
|
|
|
|
- return hclge_mac_pause_setup_hw(hdev);
|
|
|
|
|
|
+ ret = hclge_mac_pause_setup_hw(hdev);
|
|
|
|
+ if (ret)
|
|
|
|
+ return ret;
|
|
|
|
|
|
/* Only DCB-supported dev supports qset back pressure and pfc cmd */
|
|
/* Only DCB-supported dev supports qset back pressure and pfc cmd */
|
|
if (!hnae3_dev_dcb_supported(hdev))
|
|
if (!hnae3_dev_dcb_supported(hdev))
|