scsi: qla2xxx: Use common routine to free fcport struct
authorQuinn Tran <qutran@marvell.com>
Tue, 17 Dec 2019 22:06:10 +0000 (14:06 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 20 Dec 2019 03:42:45 +0000 (22:42 -0500)
This patch does not change any any functionality.

Link: https://lore.kernel.org/r/20191217220617.28084-8-hmadhani@marvell.com
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_bsg.c
drivers/scsi/qla2xxx/qla_gbl.h
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_mr.c

index cbaf178..2b3702b 100644 (file)
@@ -54,7 +54,8 @@ void qla2x00_bsg_sp_free(srb_t *sp)
        if (sp->type == SRB_CT_CMD ||
            sp->type == SRB_FXIOCB_BCMD ||
            sp->type == SRB_ELS_CMD_HST)
-               kfree(sp->fcport);
+               qla2x00_free_fcport(sp->fcport);
+
        qla2x00_rel_sp(sp);
 }
 
@@ -405,7 +406,7 @@ done_unmap_sg:
 
 done_free_fcport:
        if (bsg_request->msgcode == FC_BSG_RPT_ELS)
-               kfree(fcport);
+               qla2x00_free_fcport(fcport);
 done:
        return rval;
 }
@@ -545,7 +546,7 @@ qla2x00_process_ct(struct bsg_job *bsg_job)
        return rval;
 
 done_free_fcport:
-       kfree(fcport);
+       qla2x00_free_fcport(fcport);
 done_unmap_sg:
        dma_unmap_sg(&ha->pdev->dev, bsg_job->request_payload.sg_list,
                bsg_job->request_payload.sg_cnt, DMA_TO_DEVICE);
@@ -2049,7 +2050,7 @@ qlafx00_mgmt_cmd(struct bsg_job *bsg_job)
        return rval;
 
 done_free_fcport:
-       kfree(fcport);
+       qla2x00_free_fcport(fcport);
 
 done_unmap_rsp_sg:
        if (piocb_rqst->flags & SRB_FXDISC_RESP_DMA_VALID)
index dec295f..2a64729 100644 (file)
@@ -198,6 +198,7 @@ extern void qla2x00_free_host(struct scsi_qla_host *);
 extern void qla2x00_relogin(struct scsi_qla_host *);
 extern void qla2x00_do_work(struct scsi_qla_host *);
 extern void qla2x00_free_fcports(struct scsi_qla_host *);
+extern void qla2x00_free_fcport(fc_port_t *);
 
 extern void qla83xx_schedule_work(scsi_qla_host_t *, int);
 extern void qla83xx_service_idc_aen(struct work_struct *);
index dd59bd3..67f7c21 100644 (file)
@@ -5246,7 +5246,7 @@ skip_login:
        }
 
 cleanup_allocation:
-       kfree(new_fcport);
+       qla2x00_free_fcport(new_fcport);
 
        if (rval != QLA_SUCCESS) {
                ql_dbg(ql_dbg_disc, vha, 0x2098,
index cb830d7..bad043c 100644 (file)
@@ -1212,7 +1212,7 @@ qlafx00_find_all_targets(scsi_qla_host_t *vha,
                                    fcport->old_tgt_id);
                                qla2x00_mark_device_lost(vha, fcport, 0);
                                set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
-                               kfree(new_fcport);
+                               qla2x00_free_fcport(new_fcport);
                                return rval;
                        }
                        break;
@@ -1230,7 +1230,7 @@ qlafx00_find_all_targets(scsi_qla_host_t *vha,
                        return QLA_MEMORY_ALLOC_FAILED;
        }
 
-       kfree(new_fcport);
+       qla2x00_free_fcport(new_fcport);
        return rval;
 }
 
@@ -1298,7 +1298,7 @@ qlafx00_configure_all_targets(scsi_qla_host_t *vha)
        /* Free all new device structures not processed. */
        list_for_each_entry_safe(fcport, rmptemp, &new_fcports, list) {
                list_del(&fcport->list);
-               kfree(fcport);
+               qla2x00_free_fcport(fcport);
        }
 
        return rval;