diff mbox series

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

Message ID 20220827102756.8735-1-qianweili@huawei.com
State Accepted
Commit fa2bf6e35091e66fc83af1aebea06a78a5a2fde4
Headers show
Series crypto: hisilicon/qm - return failure if vfs_num exceeds total VFs | expand

Commit Message

Weili Qian Aug. 27, 2022, 10:27 a.m. UTC
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: Weili Qian <qianweili@huawei.com>
---
 drivers/crypto/hisilicon/qm.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Herbert Xu Sept. 2, 2022, 11:02 a.m. UTC | #1
On Sat, Aug 27, 2022 at 06:27:56PM +0800, Weili Qian wrote:
> 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: Weili Qian <qianweili@huawei.com>
> ---
>  drivers/crypto/hisilicon/qm.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index fd9fb159048f..54bbd7fa57cc 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -4766,7 +4766,13 @@  int hisi_qm_sriov_enable(struct pci_dev *pdev, int max_vfs)
 		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);
 	if (ret) {
 		pci_err(pdev, "Can't assign queues for VF!\n");