Commit 3dae2205 authored by Quinn Tran's avatar Quinn Tran Committed by Martin K. Petersen
Browse files

scsi: qla2xxx: Use common routine to free fcport struct

parent 42521564
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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)
+1 −0
Original line number Diff line number Diff line
@@ -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 *);
+1 −1
Original line number Diff line number Diff line
@@ -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,
+3 −3
Original line number Diff line number Diff line
@@ -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;