|
@@ -4311,13 +4311,19 @@ static void hclge_uninit_client_instance(struct hnae3_client *client,
|
|
|
|
|
|
for (i = 0; i < hdev->num_vmdq_vport + 1; i++) {
|
|
|
vport = &hdev->vport[i];
|
|
|
- if (hdev->roce_client)
|
|
|
+ if (hdev->roce_client) {
|
|
|
hdev->roce_client->ops->uninit_instance(&vport->roce,
|
|
|
0);
|
|
|
+ hdev->roce_client = NULL;
|
|
|
+ vport->roce.client = NULL;
|
|
|
+ }
|
|
|
if (client->type == HNAE3_CLIENT_ROCE)
|
|
|
return;
|
|
|
- if (client->ops->uninit_instance)
|
|
|
+ if (client->ops->uninit_instance) {
|
|
|
client->ops->uninit_instance(&vport->nic, 0);
|
|
|
+ hdev->nic_client = NULL;
|
|
|
+ vport->nic.client = NULL;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|