net: hns3: Fix get_vector ops in hclgevf_main module
The hclgevf_free_vector function expects the caller to pass
the vector_id to it, and hclgevf_put_vector pass vector to
it now, which will cause vector allocation problem.
This patch fixes it by converting vector into vector_id before
calling hclgevf_free_vector.
Fixes: e2cb1dec97
("net: hns3: Add HNS3 VF HCL(Hardware Compatibility Layer) Support")
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d7099d1547
commit
03718db97b
|
@ -658,8 +658,17 @@ static int hclgevf_unmap_ring_from_vector(
|
|||
static int hclgevf_put_vector(struct hnae3_handle *handle, int vector)
|
||||
{
|
||||
struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle);
|
||||
int vector_id;
|
||||
|
||||
hclgevf_free_vector(hdev, vector);
|
||||
vector_id = hclgevf_get_vector_index(hdev, vector);
|
||||
if (vector_id < 0) {
|
||||
dev_err(&handle->pdev->dev,
|
||||
"hclgevf_put_vector get vector index fail. ret =%d\n",
|
||||
vector_id);
|
||||
return vector_id;
|
||||
}
|
||||
|
||||
hclgevf_free_vector(hdev, vector_id);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue