On Tue, 13 Apr 2021 14:17:00 +0800 Huazhong Tan wrote:
+static void hclge_push_link_status(struct hclge_dev *hdev) +{
- struct hclge_vport *vport;
- int ret;
- u16 i;
- for (i = 0; i < pci_num_vf(hdev->pdev); i++) {
vport = &hdev->vport[i + HCLGE_VF_VPORT_START_NUM];
if (!test_bit(HCLGE_VPORT_STATE_ALIVE, &vport->state) ||
vport->vf_info.link_state != IFLA_VF_LINK_STATE_AUTO)
continue;
ret = hclge_push_vf_link_status(vport);
if (ret) {
dev_err(&hdev->pdev->dev,
"failed to push link status to vf%u, ret = %d\n",
i, ret);
Isn't this error printed twice? Here and...
+}
static void hclge_update_link_status(struct hclge_dev *hdev) { struct hnae3_handle *rhandle = &hdev->vport[0].roce;
@@ -3246,14 +3269,24 @@ static int hclge_set_vf_link_state(struct hnae3_handle *handle, int vf, { struct hclge_vport *vport = hclge_get_vport(handle); struct hclge_dev *hdev = vport->back;
int link_state_old;
int ret;
vport = hclge_get_vf_vport(hdev, vf); if (!vport) return -EINVAL;
link_state_old = vport->vf_info.link_state; vport->vf_info.link_state = link_state;
- return 0;
- ret = hclge_push_vf_link_status(vport);
- if (ret) {
vport->vf_info.link_state = link_state_old;
dev_err(&hdev->pdev->dev,
"failed to push vf%d link status, ret = %d\n", vf, ret);
- }
... here?
Otherwise the patches LGTM.