From 332b9de1755036cbd412b2c33801e93053df677d Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 21 Apr 2019 14:54:28 +0000 Subject: [PATCH 1/3] qla2x00t-32gbit, target: Fix sqa_qla2xxx_check_initiator_node_acl() Fixes: 3e0dbd0756e8 / r8245 ("qla2x00t-32gbit, target: Fix a memory leak in an error path") git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8262 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c index 5d8305df2..cd24c0350 100644 --- a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c +++ b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c @@ -816,6 +816,8 @@ static int sqa_qla2xxx_check_initiator_node_acl(scsi_qla_host_t *vha, goto free_sess; } + res = 0; + spin_lock_irqsave(&vha->hw->tgt.sess_lock, flags); se_sess->fabric_sess_ptr = scst_sess; fcport->se_sess = se_sess; From 475dafd3c2140299b29d3c9671227544a060148c Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 21 Apr 2019 14:56:58 +0000 Subject: [PATCH 2/3] qla2x00t-32gbit: Fix formatting of a port name in qla2x00_reg_remote_port() Fixes: d20be1897c5c / r8166 ("qla2x00t-32gbit: Avoid using the format specifier %*phC") git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8263 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t-32gbit/qla_init.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/qla2x00t-32gbit/qla_init.c b/qla2x00t-32gbit/qla_init.c index 6143b1ad9..7bf6ca535 100644 --- a/qla2x00t-32gbit/qla_init.c +++ b/qla2x00t-32gbit/qla_init.c @@ -5280,8 +5280,7 @@ qla2x00_reg_remote_port(scsi_qla_host_t *vha, fc_port_t *fcport) if (fcport->port_type == FCT_TARGET) rport_ids.roles |= FC_RPORT_ROLE_FCP_TARGET; - ql_dbg(ql_dbg_disc, vha, 0x20ee, - "%s %8phN. rport %p is %s mode\n", + ql_dbg(ql_dbg_disc, vha, 0x20ee, "%s %s. rport %p is %s mode\n", __func__, wwn_to_str(fcport->port_name), rport, (fcport->port_type == FCT_TARGET) ? "tgt" : "ini"); From f42279201bacc5666b531c6e6e00907da3b88e5f Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Sun, 21 Apr 2019 14:57:34 +0000 Subject: [PATCH 3/3] qla2x00t-32gbit, target: Remove more superfluous casts git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8264 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c index cd24c0350..a218604ed 100644 --- a/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c +++ b/qla2x00t-32gbit/qla2x00-target/scst_qla2xxx.c @@ -885,7 +885,7 @@ static void sqa_qla2xxx_clear_nacl_from_fcport_map(struct fc_port *sess) static void sqa_qla2xxx_release_sess(struct kref *kref) { - struct fc_port *fcport = container_of(kref, struct fc_port,sess_kref); + struct fc_port *fcport = container_of(kref, struct fc_port, sess_kref); qlt_unreg_sess(fcport); @@ -904,7 +904,7 @@ static void sqa_qla2xxx_put_sess(struct fc_port *sess) static int sqa_close_session(struct scst_session *scst_sess) { - struct fc_port *fcport= (struct fc_port*)scst_sess_get_tgt_priv(scst_sess); + struct fc_port *fcport = scst_sess_get_tgt_priv(scst_sess); unsigned long flags; struct qla_hw_data *ha = fcport->vha->hw; @@ -976,7 +976,7 @@ static ssize_t sqa_node_name_show(struct kobject *kobj, uint8_t *node_name; scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); mutex_lock(&sqa_mutex); if (!sqa_tgt || !sqa_tgt->qla_tgt) { @@ -1022,7 +1022,7 @@ static ssize_t sqa_node_name_store(struct kobject *kobj, TRACE_ENTRY(); scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; ha = tgt->ha; @@ -1087,7 +1087,7 @@ static ssize_t sqa_vp_parent_host_show(struct kobject *kobj, char *wwn; scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; ha = tgt->ha; @@ -1115,7 +1115,7 @@ static ssize_t sqa_show_expl_conf_enabled(struct kobject *kobj, ssize_t size; scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; ha = tgt->ha; @@ -1139,7 +1139,7 @@ static ssize_t sqa_store_expl_conf_enabled(struct kobject *kobj, unsigned long flags; scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; ha = tgt->ha; vha = tgt->vha; @@ -1180,7 +1180,7 @@ static ssize_t sqa_abort_isp_store(struct kobject *kobj, TRACE_ENTRY(); scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; PRINT_INFO("sqatgt(%ld/%d) ISP abort not implemented.", @@ -1196,7 +1196,7 @@ static ssize_t sqa_abort_isp_store(struct kobject *kobj, struct qla_hw_data *ha; scst_tgt = container_of(kobj, struct scst_tgt, tgt_kobj); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; ha = tgt->ha; @@ -1471,7 +1471,7 @@ static void sqa_qla2xxx_remove_target(struct scsi_qla_host *vha) */ static int sqa_target_release(struct scst_tgt *scst_tgt) { - struct sqa_scst_tgt *sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + struct sqa_scst_tgt *sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); struct qla_tgt *tgt = sqa_tgt->qla_tgt; struct scsi_qla_host *vha= tgt->vha; @@ -1629,7 +1629,7 @@ static int sqa_rdy_to_xfer(struct scst_cmd *scst_cmd) struct qla_tgt_cmd *cmd; TRACE_ENTRY(); - cmd = (struct qla_tgt_cmd *)scst_cmd_get_tgt_priv(scst_cmd); + cmd = scst_cmd_get_tgt_priv(scst_cmd); TRACE(TRACE_SCSI, "sqatgt(%ld/%d): tag=%lld", cmd->vha->host_no, cmd->vha->vp_idx, scst_cmd_get_tag(scst_cmd)); @@ -1687,8 +1687,7 @@ static int sqa_rdy_to_xfer(struct scst_cmd *scst_cmd) static void sqa_on_free_cmd(struct scst_cmd *scst_cmd) { - struct qla_tgt_cmd *cmd = - (struct qla_tgt_cmd *)scst_cmd_get_tgt_priv(scst_cmd); + struct qla_tgt_cmd *cmd = scst_cmd_get_tgt_priv(scst_cmd); TRACE_ENTRY(); @@ -1977,7 +1976,7 @@ static int sqa_enable_tgt(struct scst_tgt *scst_tgt, bool enable) TRACE_ENTRY(); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; vha = tgt->vha; if (enable && (qla_tgt_mode_enabled(tgt->vha) || @@ -2022,7 +2021,7 @@ static bool sqa_is_tgt_enabled(struct scst_tgt *scst_tgt) struct sqa_scst_tgt *sqa_tgt; TRACE_ENTRY(); - sqa_tgt = (struct sqa_scst_tgt *)scst_tgt_get_tgt_priv(scst_tgt); + sqa_tgt = scst_tgt_get_tgt_priv(scst_tgt); tgt = sqa_tgt->qla_tgt; res = qla_tgt_mode_enabled(tgt->vha) || qla_dual_mode_enabled(tgt->vha);