]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
enic: rearrange some of the port profile code
authorRoopa Prabhu <roprabhu@cisco.com>
Wed, 18 Jan 2012 04:24:07 +0000 (04:24 +0000)
committerJoe Jin <joe.jin@oracle.com>
Wed, 29 Aug 2012 00:22:09 +0000 (08:22 +0800)
This patch rearranges some of the port profile code in enic_probe.
It moves out some lines of port profile related code currently
inside CONFIG_PCI_IOV. This is only done to move all port profile
related code together so that it can help isolate the port profile
handling code under a separate #ifdef in our internal build scripts.

(cherry picked from commit ca2b721de25b9893310fd695a38b495d14c70ff3)
Signed-off-by: Roopa Prabhu <roprabhu@cisco.com>
Signed-off-by: Christian Benvenuti <benve@cisco.com>
Signed-off-by: Sujith Sankar <ssujith@cisco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/enic/enic_main.c

index 930e08ad6de44c898591a93b8b828ab41c0cb9f8..106afb584e578026b4d488083a70932b37f4b654 100644 (file)
@@ -2276,10 +2276,10 @@ static int __devinit enic_probe(struct pci_dev *pdev,
        int using_dac = 0;
        unsigned int i;
        int err;
-       int num_pps = 1;
 #ifdef CONFIG_PCI_IOV
        int pos = 0;
 #endif
+       int num_pps;
 
        /* Allocate net device structure and initialize.  Private
         * instance data is initialized to zero.
@@ -2386,17 +2386,17 @@ static int __devinit enic_probe(struct pci_dev *pdev,
                                goto err_out_vnic_unregister;
                        }
                        enic->priv_flags |= ENIC_SRIOV_ENABLED;
-                       num_pps = enic->num_vfs;
                }
        }
-
 #endif
+
+       num_pps = enic->num_vfs ? enic->num_vfs : 1;
        /* Allocate structure for port profiles */
        enic->pp = kcalloc(num_pps, sizeof(*enic->pp), GFP_KERNEL);
        if (!enic->pp) {
                pr_err("port profile alloc failed, aborting\n");
                err = -ENOMEM;
-               goto err_out_disable_sriov;
+               goto err_out_disable_sriov_pp;
        }
 
        /* Issue device open to get device in known state
@@ -2405,7 +2405,7 @@ static int __devinit enic_probe(struct pci_dev *pdev,
        err = enic_dev_open(enic);
        if (err) {
                dev_err(dev, "vNIC dev open failed, aborting\n");
-               goto err_out_free_pp;
+               goto err_out_disable_sriov;
        }
 
        /* Setup devcmd lock
@@ -2528,9 +2528,9 @@ err_out_dev_deinit:
        enic_dev_deinit(enic);
 err_out_dev_close:
        vnic_dev_close(enic->vdev);
-err_out_free_pp:
-       kfree(enic->pp);
 err_out_disable_sriov:
+       kfree(enic->pp);
+err_out_disable_sriov_pp:
 #ifdef CONFIG_PCI_IOV
        if (enic_sriov_enabled(enic)) {
                pci_disable_sriov(pdev);