OSDN Git Service

i40e: Initialize pointer in client_release function
authorHarshitha Ramamurthy <harshitha.ramamurthy@intel.com>
Mon, 15 Aug 2016 21:17:19 +0000 (14:17 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 20 Aug 2016 04:38:00 +0000 (21:38 -0700)
The function i40e_client_release has a print statement that uses an
adapter pointer which is not initialized if a previous if statement
is not true. Hence, intialize it in the right place.

Change-ID: I1afdaa2c46771ac42be56edcc41bb56b455b06c8
Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_client.c

index 1035f88..09a37cf 100644 (file)
@@ -662,7 +662,7 @@ int i40e_lan_del_device(struct i40e_pf *pf)
 static int i40e_client_release(struct i40e_client *client)
 {
        struct i40e_client_instance *cdev, *tmp;
-       struct i40e_pf *pf = NULL;
+       struct i40e_pf *pf;
        int ret = 0;
 
        LIST_HEAD(cdevs_tmp);
@@ -672,12 +672,12 @@ static int i40e_client_release(struct i40e_client *client)
                if (strncmp(cdev->client->name, client->name,
                            I40E_CLIENT_STR_LENGTH))
                        continue;
+               pf = (struct i40e_pf *)cdev->lan_info.pf;
                if (test_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state)) {
                        if (atomic_read(&cdev->ref_cnt) > 0) {
                                ret = I40E_ERR_NOT_READY;
                                goto out;
                        }
-                       pf = (struct i40e_pf *)cdev->lan_info.pf;
                        if (client->ops && client->ops->close)
                                client->ops->close(&cdev->lan_info, client,
                                                   false);