[PATCH 5.6 148/167] fpga: dfl: pci: fix return value of cci_pci_sriov_configure

From: Greg Kroah-Hartman
Date: Tue Apr 28 2020 - 14:37:36 EST


From: Xu Yilun <yilun.xu@xxxxxxxxx>

commit 3c2760b78f90db874401d97e3c17829e2e36f400 upstream.

pci_driver.sriov_configure should return negative value on error and
number of enabled VFs on success. But now the driver returns 0 on
success. The sriov configure still works but will cause a warning
message:

XX VFs requested; only 0 enabled

This patch changes the return value accordingly.

Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Xu Yilun <yilun.xu@xxxxxxxxx>
Signed-off-by: Wu Hao <hao.wu@xxxxxxxxx>
Signed-off-by: Moritz Fischer <mdf@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/fpga/dfl-pci.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/fpga/dfl-pci.c
+++ b/drivers/fpga/dfl-pci.c
@@ -248,11 +248,13 @@ static int cci_pci_sriov_configure(struc
return ret;

ret = pci_enable_sriov(pcidev, num_vfs);
- if (ret)
+ if (ret) {
dfl_fpga_cdev_config_ports_pf(cdev);
+ return ret;
+ }
}

- return ret;
+ return num_vfs;
}

static void cci_pci_remove(struct pci_dev *pcidev)