[SCSI] bfa: Fix to set correct return error codes and misc cleanup.
authorKrishna Gudipati <kgudipat@brocade.com>
Fri, 13 Jul 2012 23:08:22 +0000 (16:08 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 20 Jul 2012 07:59:05 +0000 (08:59 +0100)
- Remove unnecessary if NULL check in function bfa_fcs_vport_free().
- Set correct return error codes in case of memory allocation failure
  in the BSG ELS/CT passthru command handler.

Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/bfa/bfa_fcs_lport.c
drivers/scsi/bfa/bfad_bsg.c

index 937000db62a824d6e148ae5512bed4b495a45ef8..bcc4966e8ba484d6f6772e6dbca499336ead788a 100644 (file)
@@ -5722,9 +5722,7 @@ bfa_fcs_vport_free(struct bfa_fcs_vport_s *vport)
         * The memory for the bfad_vport_s is freed from the FC function
         * template vport_delete entry point.
         */
-       if (vport_drv)
-               bfad_im_port_delete(vport_drv->drv_port.bfad,
-                               &vport_drv->drv_port);
+       bfad_im_port_delete(vport_drv->drv_port.bfad, &vport_drv->drv_port);
 }
 
 /*
index e1f4b10df42aaf14cb9d069c9ddc372393c473c3..9c1495b321d9e1fdb366fa84c88506bdb6015c59 100644 (file)
@@ -3008,12 +3008,15 @@ bfad_im_bsg_els_ct_request(struct fc_bsg_job *job)
         * buffer of size bsg_data->payload_len
         */
        bsg_fcpt = kzalloc(bsg_data->payload_len, GFP_KERNEL);
-       if (!bsg_fcpt)
+       if (!bsg_fcpt) {
+               rc = -ENOMEM;
                goto out;
+       }
 
        if (copy_from_user((uint8_t *)bsg_fcpt, bsg_data->payload,
                                bsg_data->payload_len)) {
                kfree(bsg_fcpt);
+               rc = -EIO;
                goto out;
        }