GenWQE: Check return code of pci_sriov_enable
authorFrank Haverkamp <haver@linux.vnet.ibm.com>
Wed, 10 Sep 2014 14:37:50 +0000 (16:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Sep 2014 06:15:46 +0000 (23:15 -0700)
Forgetting to check this, can lead to problems on systems which
do not support SRIOV.

Signed-off-by: Frank Haverkamp <haver@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/genwqe/card_base.c

index 12926c8c060987c2dcc76c4e5d3734d42d41e055..16672d9e1e0c9b9e7a026f5399d29633a2ac7e5e 100644 (file)
@@ -1320,11 +1320,14 @@ static void genwqe_err_resume(struct pci_dev *pci_dev)
 
 static int genwqe_sriov_configure(struct pci_dev *dev, int numvfs)
 {
+       int rc;
        struct genwqe_dev *cd = dev_get_drvdata(&dev->dev);
 
        if (numvfs > 0) {
                genwqe_setup_vf_jtimer(cd);
-               pci_enable_sriov(dev, numvfs);
+               rc = pci_enable_sriov(dev, numvfs);
+               if (rc < 0)
+                       return rc;
                return numvfs;
        }
        if (numvfs == 0) {