Commit fa2bf6e3 authored by Weili Qian's avatar Weili Qian Committed by Herbert Xu

crypto: hisilicon/qm - return failure if vfs_num exceeds total VFs

The accelerator drivers supports users to enable VFs through the
module parameter 'vfs_num'. If the number of VFs to be enabled
exceeds the total VFs, all VFs are enabled. Change it to the same
as enabling VF through the 'sriov_numvfs' file. Returns -ERANGE
if the number of VFs to be enabled exceeds total VFs.
Signed-off-by: default avatarWeili Qian <qianweili@huawei.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 5afc904f
...@@ -4766,7 +4766,13 @@ int hisi_qm_sriov_enable(struct pci_dev *pdev, int max_vfs) ...@@ -4766,7 +4766,13 @@ int hisi_qm_sriov_enable(struct pci_dev *pdev, int max_vfs)
goto err_put_sync; goto err_put_sync;
} }
num_vfs = min_t(int, max_vfs, total_vfs); if (max_vfs > total_vfs) {
pci_err(pdev, "%d VFs is more than total VFs %d!\n", max_vfs, total_vfs);
ret = -ERANGE;
goto err_put_sync;
}
num_vfs = max_vfs;
ret = qm_vf_q_assign(qm, num_vfs); ret = qm_vf_q_assign(qm, num_vfs);
if (ret) { if (ret) {
pci_err(pdev, "Can't assign queues for VF!\n"); pci_err(pdev, "Can't assign queues for VF!\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment