mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-25 07:51:28 +00:00
Logging cleanup
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2597 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
@@ -525,12 +525,13 @@ static int q2t_target_detect(struct scst_tgt_template *tgtt)
|
||||
rc = qla2xxx_tgt_register_driver(&t);
|
||||
if (rc < 0) {
|
||||
res = rc;
|
||||
PRINT_ERROR("Unable to register driver: %d", res);
|
||||
PRINT_ERROR("qla2x00t: Unable to register driver: %d", res);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (rc != QLA2X_INITIATOR_MAGIC) {
|
||||
PRINT_ERROR("Wrong version of the initiator part: %d", rc);
|
||||
PRINT_ERROR("qla2x00t: Wrong version of the initiator part: "
|
||||
"%d", rc);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
@@ -539,7 +540,7 @@ static int q2t_target_detect(struct scst_tgt_template *tgtt)
|
||||
|
||||
res = 0;
|
||||
|
||||
PRINT_INFO("%s", "Target mode driver for QLogic 2x00 controller "
|
||||
PRINT_INFO("qla2x00t: %s", "Target mode driver for QLogic 2x00 controller "
|
||||
"registered successfully");
|
||||
|
||||
out:
|
||||
@@ -692,7 +693,7 @@ static void q2t_clear_tgt_db(struct q2t_tgt *tgt, bool local_only)
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
TRACE(TRACE_MGMT, "Clearing targets DB %p", tgt);
|
||||
TRACE(TRACE_MGMT, "qla2x00t: Clearing targets DB %p", tgt);
|
||||
|
||||
list_for_each_entry_safe(sess, sess_tmp, &tgt->sess_list,
|
||||
sess_list_entry) {
|
||||
@@ -1251,7 +1252,8 @@ static void q2x_send_notify_ack(scsi_qla_host_t *ha, notify_entry_t *iocb,
|
||||
NOTIFY_ACK_TM_RESP_CODE_VALID);
|
||||
}
|
||||
|
||||
TRACE(TRACE_SCSI, "Sending Notify Ack Seq %#x -> I %#x St %#x RC %#x",
|
||||
TRACE(TRACE_SCSI, "qla2x00t(%ld): Sending Notify Ack Seq %#x -> I %#x "
|
||||
"St %#x RC %#x", ha->instance,
|
||||
le16_to_cpu(iocb->seq_id), GET_TARGET_ID(ha, iocb),
|
||||
le16_to_cpu(iocb->status), le16_to_cpu(ntfy->resp_code));
|
||||
TRACE_BUFFER("Notify Ack packet data", ntfy, REQUEST_ENTRY_SIZE);
|
||||
@@ -1438,7 +1440,8 @@ static void q24_handle_abts(scsi_qla_host_t *ha, abts24_recv_entry_t *abts)
|
||||
|
||||
mcmd = mempool_alloc(q2t_mgmt_cmd_mempool, GFP_ATOMIC);
|
||||
if (mcmd == NULL) {
|
||||
PRINT_ERROR("%s: Allocation of ABORT cmd failed", __func__);
|
||||
PRINT_ERROR("qla2x00t(%ld): %s: Allocation of ABORT cmd failed",
|
||||
ha->instance, __func__);
|
||||
goto out_err;
|
||||
}
|
||||
memset(mcmd, 0, sizeof(*mcmd));
|
||||
@@ -1563,7 +1566,8 @@ static void q24_send_notify_ack(scsi_qla_host_t *ha,
|
||||
nack->ox_id = iocb->ox_id;
|
||||
nack->vp_index = iocb->vp_index;
|
||||
|
||||
TRACE(TRACE_SCSI, "Sending 24xx Notify Ack %d", nack->status);
|
||||
TRACE(TRACE_SCSI, "qla2x00t(%ld): Sending 24xx Notify Ack %d",
|
||||
ha->instance, nack->status);
|
||||
TRACE_BUFFER("24xx Notify Ack packet data", nack, sizeof(*nack));
|
||||
|
||||
q2t_exec_queue(ha);
|
||||
@@ -1613,7 +1617,7 @@ static void q2t_task_mgmt_fn_done(struct scst_mgmt_cmd *scst_mcmd)
|
||||
|
||||
mcmd = scst_mgmt_cmd_get_tgt_priv(scst_mcmd);
|
||||
if (unlikely(mcmd == NULL)) {
|
||||
PRINT_ERROR("scst_mcmd %p tgt_spec is NULL", mcmd);
|
||||
PRINT_ERROR("qla2x00t: scst_mcmd %p tgt_spec is NULL", mcmd);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -1727,9 +1731,10 @@ static int q2t_check_reserve_free_req(scsi_qla_host_t *ha, uint32_t req_cnt)
|
||||
}
|
||||
|
||||
if (unlikely(ha->req_q_cnt < (req_cnt + 2))) {
|
||||
TRACE(TRACE_OUT_OF_MEM, "There is no room in the request ring: "
|
||||
"ha->req_ring_index=%d, ha->req_q_cnt=%d, req_cnt=%d",
|
||||
ha->req_ring_index, ha->req_q_cnt, req_cnt);
|
||||
TRACE(TRACE_OUT_OF_MEM, "qla2x00t(%ld): There is no room in the "
|
||||
"request ring: ha->req_ring_index=%d, ha->req_q_cnt=%d, "
|
||||
"req_cnt=%d", ha->instance, ha->req_ring_index,
|
||||
ha->req_q_cnt, req_cnt);
|
||||
res = SCST_TGT_RES_QUEUE_FULL;
|
||||
goto out;
|
||||
}
|
||||
@@ -1771,8 +1776,8 @@ static inline uint32_t q2t_make_handle(scsi_qla_host_t *ha)
|
||||
if (h > MAX_OUTSTANDING_COMMANDS)
|
||||
h = 1; /* 0 is Q2T_NULL_HANDLE */
|
||||
if (h == ha->current_handle) {
|
||||
TRACE(TRACE_OUT_OF_MEM,
|
||||
"Ran out of empty cmd slots in ha %p", ha);
|
||||
TRACE(TRACE_OUT_OF_MEM, "qla2x00t(%ld): Ran out of "
|
||||
"empty cmd slots in ha %p", ha->instance, ha);
|
||||
h = Q2T_NULL_HANDLE;
|
||||
break;
|
||||
}
|
||||
@@ -1818,11 +1823,11 @@ static void q2x_build_ctio_pkt(struct q2t_prm *prm)
|
||||
pkt->common.rx_id = prm->cmd->atio.atio2x.rx_id;
|
||||
pkt->common.relative_offset = cpu_to_le32(prm->cmd->offset);
|
||||
|
||||
TRACE(TRACE_DEBUG|TRACE_SCSI,
|
||||
"handle(scst_cmd) -> %08x, timeout %d L %#x -> I %#x E %#x",
|
||||
pkt->common.handle, Q2T_TIMEOUT,
|
||||
le16_to_cpu(prm->cmd->atio.atio2x.lun),
|
||||
GET_TARGET_ID(ha, &pkt->common), pkt->common.rx_id);
|
||||
TRACE(TRACE_DEBUG|TRACE_SCSI, "qla2x00t(%ld): handle(scst_cmd) -> %08x, "
|
||||
"timeout %d L %#x -> I %#x E %#x", ha->instance,
|
||||
pkt->common.handle, Q2T_TIMEOUT,
|
||||
le16_to_cpu(prm->cmd->atio.atio2x.lun),
|
||||
GET_TARGET_ID(ha, &pkt->common), pkt->common.rx_id);
|
||||
}
|
||||
|
||||
/* pha->hardware_lock supposed to be held on entry */
|
||||
@@ -1868,9 +1873,9 @@ static int q24_build_ctio_pkt(struct q2t_prm *prm)
|
||||
pkt->relative_offset = cpu_to_le32(prm->cmd->offset);
|
||||
|
||||
out:
|
||||
TRACE(TRACE_DEBUG|TRACE_SCSI, "handle(scst_cmd) -> %08x, timeout %d "
|
||||
"ox_id %#x", pkt->common.handle, Q2T_TIMEOUT,
|
||||
le16_to_cpu(pkt->ox_id));
|
||||
TRACE(TRACE_DEBUG|TRACE_SCSI, "qla2x00t(%ld): handle(scst_cmd) -> %08x, "
|
||||
"timeout %d, ox_id %#x", ha->instance, pkt->common.handle,
|
||||
Q2T_TIMEOUT, le16_to_cpu(pkt->ox_id));
|
||||
TRACE_EXIT_RES(res);
|
||||
return res;
|
||||
}
|
||||
@@ -2107,7 +2112,8 @@ static int q2t_pre_xmit_response(struct q2t_cmd *cmd,
|
||||
goto out;
|
||||
}
|
||||
|
||||
TRACE(TRACE_SCSI, "tag=%lld", scst_cmd_get_tag(scst_cmd));
|
||||
TRACE(TRACE_SCSI, "qla2x00t(%ld): tag=%lld", ha->instance,
|
||||
scst_cmd_get_tag(scst_cmd));
|
||||
|
||||
prm->cmd = cmd;
|
||||
prm->tgt = tgt;
|
||||
@@ -2661,7 +2667,7 @@ static int q2t_rdy_to_xfer(struct scst_cmd *scst_cmd)
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
TRACE(TRACE_SCSI, "tag=%lld", scst_cmd_get_tag(scst_cmd));
|
||||
TRACE(TRACE_SCSI, "qla2x00t: tag=%lld", scst_cmd_get_tag(scst_cmd));
|
||||
|
||||
cmd = (struct q2t_cmd *)scst_cmd_get_tgt_priv(scst_cmd);
|
||||
cmd->bufflen = scst_cmd_get_write_fields(scst_cmd, &cmd->sg,
|
||||
@@ -2841,8 +2847,8 @@ static void q2t_on_free_cmd(struct scst_cmd *scst_cmd)
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
TRACE(TRACE_SCSI, "Freeing command %p, tag %lld", scst_cmd,
|
||||
scst_cmd_get_tag(scst_cmd));
|
||||
TRACE(TRACE_SCSI, "qla2x00t: Freeing command %p, tag %lld",
|
||||
scst_cmd, scst_cmd_get_tag(scst_cmd));
|
||||
|
||||
cmd = (struct q2t_cmd *)scst_cmd_get_tgt_priv(scst_cmd);
|
||||
scst_cmd_set_tgt_priv(scst_cmd, NULL);
|
||||
@@ -3077,8 +3083,8 @@ static void q2t_do_ctio_completion(scsi_qla_host_t *ha, uint32_t handle,
|
||||
context = SCST_CONTEXT_TASKLET;
|
||||
#endif
|
||||
|
||||
TRACE(TRACE_DEBUG|TRACE_SCSI, "handle(ctio %p status %#x) <- %08x",
|
||||
ctio, status, handle);
|
||||
TRACE(TRACE_DEBUG|TRACE_SCSI, "qla2x00t(%ld): handle(ctio %p "
|
||||
"status %#x) <- %08x", ha->instance, ctio, status, handle);
|
||||
|
||||
if (handle & CTIO_INTERMEDIATE_HANDLE_MARK) {
|
||||
/* That could happen only in case of an error/reset/abort */
|
||||
@@ -3273,7 +3279,7 @@ static int q2x_do_send_cmd_to_scst(struct q2t_cmd *cmd)
|
||||
#endif
|
||||
|
||||
TRACE_DBG("Context %x", context);
|
||||
TRACE(TRACE_SCSI, "START Command (tag %d, queue_type %d)",
|
||||
TRACE(TRACE_SCSI, "qla2x00t: START Command (tag %d, queue_type %d)",
|
||||
cmd->tag, scst_cmd_get_queue_type(cmd->scst_cmd));
|
||||
scst_cmd_init_done(cmd->scst_cmd, context);
|
||||
|
||||
@@ -3348,8 +3354,8 @@ static int q24_do_send_cmd_to_scst(struct q2t_cmd *cmd)
|
||||
#endif
|
||||
|
||||
TRACE_DBG("Context %x", context);
|
||||
TRACE(TRACE_SCSI, "START Command %p (tag %d, queue type %x)", cmd,
|
||||
cmd->tag, scst_cmd_get_queue_type(cmd->scst_cmd));
|
||||
TRACE(TRACE_SCSI, "qla2x00t: START Command %p (tag %d, queue type %x)",
|
||||
cmd, cmd->tag, scst_cmd_get_queue_type(cmd->scst_cmd));
|
||||
scst_cmd_init_done(cmd->scst_cmd, context);
|
||||
|
||||
out:
|
||||
@@ -3397,7 +3403,8 @@ static int q2t_send_cmd_to_scst(scsi_qla_host_t *ha, atio_t *atio)
|
||||
|
||||
cmd = kmem_cache_zalloc(q2t_cmd_cachep, GFP_ATOMIC);
|
||||
if (cmd == NULL) {
|
||||
TRACE(TRACE_OUT_OF_MEM, "%s", "Allocation of cmd failed");
|
||||
TRACE(TRACE_OUT_OF_MEM, "qla2x00t(%ld): Allocation of cmd "
|
||||
"failed", ha->instance);
|
||||
res = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
@@ -3451,8 +3458,8 @@ out_sched:
|
||||
|
||||
prm = kzalloc(sizeof(*prm), GFP_ATOMIC);
|
||||
if (prm == NULL) {
|
||||
PRINT_ERROR("%s", "Unable to create session work, "
|
||||
"command will be refused");
|
||||
PRINT_ERROR("qla2x00t(%ld): Unable to create session "
|
||||
"work, command will be refused", ha->instance);
|
||||
res = -1;
|
||||
goto out_free_cmd;
|
||||
}
|
||||
@@ -3502,57 +3509,66 @@ static int q2t_issue_task_mgmt(struct q2t_sess *sess, uint8_t *lun,
|
||||
|
||||
switch (fn) {
|
||||
case Q2T_CLEAR_ACA:
|
||||
TRACE(TRACE_MGMT, "%s", "CLEAR_ACA received");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): CLEAR_ACA received",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_CLEAR_ACA,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_TARGET_RESET:
|
||||
TRACE(TRACE_MGMT, "%s", "TARGET_RESET received");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): TARGET_RESET received",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_TARGET_RESET,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_LUN_RESET:
|
||||
TRACE(TRACE_MGMT, "%s", "LUN_RESET received");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): LUN_RESET received",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_LUN_RESET,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_CLEAR_TS:
|
||||
TRACE(TRACE_MGMT, "%s", "CLEAR_TS received");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): CLEAR_TS received",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_CLEAR_TASK_SET,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_ABORT_TS:
|
||||
TRACE(TRACE_MGMT, "%s", "ABORT_TS received");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): ABORT_TS received",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_ABORT_TASK_SET,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_ABORT_ALL:
|
||||
TRACE(TRACE_MGMT, "%s", "Doing ABORT_ALL_TASKS");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Doing ABORT_ALL_TASKS",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess,
|
||||
SCST_ABORT_ALL_TASKS,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_ABORT_ALL_SESS:
|
||||
TRACE(TRACE_MGMT, "%s", "Doing ABORT_ALL_TASKS_SESS");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Doing ABORT_ALL_TASKS_SESS",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess,
|
||||
SCST_ABORT_ALL_TASKS_SESS,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_NEXUS_LOSS_SESS:
|
||||
TRACE(TRACE_MGMT, "%s", "Doing NEXUS_LOSS_SESS");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Doing NEXUS_LOSS_SESS",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_NEXUS_LOSS_SESS,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
|
||||
case Q2T_NEXUS_LOSS:
|
||||
TRACE(TRACE_MGMT, "%s", "Doing NEXUS_LOSS");
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Doing NEXUS_LOSS",
|
||||
sess->tgt->ha->instance);
|
||||
rc = scst_rx_mgmt_fn_lun(sess->scst_sess, SCST_NEXUS_LOSS,
|
||||
lun, lun_size, SCST_ATOMIC, mcmd);
|
||||
break;
|
||||
@@ -3655,7 +3671,8 @@ static int q2t_abort_task(scsi_qla_host_t *ha, notify_entry_t *iocb)
|
||||
|
||||
mcmd = mempool_alloc(q2t_mgmt_cmd_mempool, GFP_ATOMIC);
|
||||
if (mcmd == NULL) {
|
||||
PRINT_ERROR("%s: Allocation of ABORT cmd failed", __func__);
|
||||
PRINT_ERROR("qla2x00t(%ld): %s: Allocation of ABORT cmd failed",
|
||||
ha->instance, __func__);
|
||||
res = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
@@ -3692,7 +3709,8 @@ static int q24_handle_els(scsi_qla_host_t *ha, notify24xx_entry_t *iocb)
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
TRACE(TRACE_MGMT, "ELS opcode %x", iocb->status_subcode);
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): ELS opcode %x", ha->instance,
|
||||
iocb->status_subcode);
|
||||
|
||||
switch (iocb->status_subcode) {
|
||||
case ELS_PLOGI:
|
||||
@@ -4270,12 +4288,13 @@ static void q2t_handle_imm_notify(scsi_qla_host_t *ha, void *iocb)
|
||||
case IMM_NTFY_LIP_RESET:
|
||||
{
|
||||
if (IS_FWI2_CAPABLE(ha)) {
|
||||
TRACE(TRACE_MGMT, "LIP reset (loop %#x), subcode %x",
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): LIP reset (loop %#x), "
|
||||
"subcode %x", ha->instance,
|
||||
le16_to_cpu(iocb24->nport_handle),
|
||||
iocb24->status_subcode);
|
||||
} else {
|
||||
TRACE(TRACE_MGMT, "LIP reset (I %#x)",
|
||||
GET_TARGET_ID(ha, iocb2x));
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): LIP reset (I %#x)",
|
||||
ha->instance, GET_TARGET_ID(ha, iocb2x));
|
||||
/* set the Clear LIP reset event flag */
|
||||
add_flags |= NOTIFY_ACK_CLEAR_LIP_RESET;
|
||||
}
|
||||
@@ -4287,7 +4306,8 @@ static void q2t_handle_imm_notify(scsi_qla_host_t *ha, void *iocb)
|
||||
case IMM_NTFY_LIP_LINK_REINIT:
|
||||
{
|
||||
struct q2t_tgt *tgt = ha->tgt;
|
||||
TRACE(TRACE_MGMT, "LINK REINIT (loop %#x, subcode %x)",
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): LINK REINIT (loop %#x, "
|
||||
"subcode %x)", ha->instance,
|
||||
le16_to_cpu(iocb24->nport_handle),
|
||||
iocb24->status_subcode);
|
||||
if (tgt->link_reinit_iocb_pending)
|
||||
@@ -4304,11 +4324,13 @@ static void q2t_handle_imm_notify(scsi_qla_host_t *ha, void *iocb)
|
||||
|
||||
case IMM_NTFY_PORT_LOGOUT:
|
||||
if (IS_FWI2_CAPABLE(ha)) {
|
||||
TRACE(TRACE_MGMT, "Port logout (loop %#x, subcode %x)",
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Port logout (loop "
|
||||
"%#x, subcode %x)", ha->instance,
|
||||
le16_to_cpu(iocb24->nport_handle),
|
||||
iocb24->status_subcode);
|
||||
} else {
|
||||
TRACE(TRACE_MGMT, "Port logout (S %08x -> L %#x)",
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Port logout (S "
|
||||
"%08x -> L %#x)", ha->instance,
|
||||
le16_to_cpu(iocb2x->seq_id),
|
||||
le16_to_cpu(iocb2x->lun));
|
||||
}
|
||||
@@ -4318,14 +4340,16 @@ static void q2t_handle_imm_notify(scsi_qla_host_t *ha, void *iocb)
|
||||
break;
|
||||
|
||||
case IMM_NTFY_GLBL_TPRLO:
|
||||
TRACE(TRACE_MGMT, "Global TPRLO (%x)", status);
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Global TPRLO (%x)",
|
||||
ha->instance, status);
|
||||
if (q2t_reset(ha, iocb, Q2T_NEXUS_LOSS) == 0)
|
||||
send_notify_ack = 0;
|
||||
/* The sessions will be cleared in the callback, if needed */
|
||||
break;
|
||||
|
||||
case IMM_NTFY_PORT_CONFIG:
|
||||
TRACE(TRACE_MGMT, "Port config changed (%x)", status);
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Port config changed (%x)",
|
||||
ha->instance, status);
|
||||
if (q2t_reset(ha, iocb, Q2T_ABORT_ALL) == 0)
|
||||
send_notify_ack = 0;
|
||||
/* The sessions will be cleared in the callback, if needed */
|
||||
@@ -4346,9 +4370,9 @@ static void q2t_handle_imm_notify(scsi_qla_host_t *ha, void *iocb)
|
||||
break;
|
||||
|
||||
case IMM_NTFY_ABORT_TASK:
|
||||
TRACE(TRACE_MGMT, "Abort Task (S %08x I %#x -> L %#x)",
|
||||
le16_to_cpu(iocb2x->seq_id), GET_TARGET_ID(ha, iocb2x),
|
||||
le16_to_cpu(iocb2x->lun));
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Abort Task (S %08x I %#x -> "
|
||||
"L %#x)", ha->instance, le16_to_cpu(iocb2x->seq_id),
|
||||
GET_TARGET_ID(ha, iocb2x), le16_to_cpu(iocb2x->lun));
|
||||
if (q2t_abort_task(ha, iocb2x) == 0)
|
||||
send_notify_ack = 0;
|
||||
break;
|
||||
@@ -4359,7 +4383,8 @@ static void q2t_handle_imm_notify(scsi_qla_host_t *ha, void *iocb)
|
||||
break;
|
||||
|
||||
case IMM_NTFY_MSG_RX:
|
||||
TRACE(TRACE_MGMT, "Immediate notify task %x", iocb2x->task_flags);
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Immediate notify task %x",
|
||||
ha->instance, iocb2x->task_flags);
|
||||
if (q2t_handle_task_mgmt(ha, iocb2x) == 0)
|
||||
send_notify_ack = 0;
|
||||
break;
|
||||
@@ -4511,8 +4536,8 @@ static void q24_atio_pkt(scsi_qla_host_t *ha, atio7_entry_t *atio)
|
||||
goto out;
|
||||
}
|
||||
|
||||
TRACE(TRACE_SCSI, "ATIO pkt %p: type %02x count %02x",
|
||||
atio, atio->entry_type, atio->entry_count);
|
||||
TRACE(TRACE_SCSI, "qla2x00t(%ld): ATIO pkt %p: type %02x count %02x",
|
||||
ha->instance, atio, atio->entry_type, atio->entry_count);
|
||||
|
||||
/*
|
||||
* In tgt_stop mode we also should allow all requests to pass.
|
||||
@@ -4606,14 +4631,14 @@ static void q2t_response_pkt(scsi_qla_host_t *ha, response_t *pkt)
|
||||
TRACE_ENTRY();
|
||||
|
||||
if (unlikely(tgt == NULL)) {
|
||||
PRINT_ERROR("Response pkt %x received, but no tgt (ha %p)",
|
||||
pkt->entry_type, ha);
|
||||
PRINT_ERROR("qla2x00t(%ld): Response pkt %x received, but no "
|
||||
"tgt (ha %p)", ha->instance, pkt->entry_type, ha);
|
||||
goto out;
|
||||
}
|
||||
|
||||
TRACE(TRACE_SCSI, "pkt %p: T %02x C %02x S %02x handle %#x",
|
||||
pkt, pkt->entry_type, pkt->entry_count, pkt->entry_status,
|
||||
pkt->handle);
|
||||
TRACE(TRACE_SCSI, "qla2x00t(%ld): pkt %p: T %02x C %02x S %02x "
|
||||
"handle %#x", ha->instance, pkt, pkt->entry_type,
|
||||
pkt->entry_count, pkt->entry_status, pkt->handle);
|
||||
|
||||
/*
|
||||
* In tgt_stop mode we also should allow all requests to pass.
|
||||
@@ -4873,15 +4898,16 @@ static void q2t_async_event(uint16_t code, scsi_qla_host_t *ha,
|
||||
case MBA_REQ_TRANSFER_ERR: /* Request Transfer Error */
|
||||
case MBA_RSP_TRANSFER_ERR: /* Response Transfer Error */
|
||||
case MBA_ATIO_TRANSFER_ERR: /* ATIO Queue Transfer Error */
|
||||
TRACE(TRACE_MGMT, "System error async event %#x occured", code);
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): System error async event %#x "
|
||||
"occured", ha->instance, code);
|
||||
break;
|
||||
|
||||
case MBA_LOOP_UP:
|
||||
{
|
||||
TRACE(TRACE_MGMT, "Async LOOP_UP occured (m[1]=%x, m[2]=%x, "
|
||||
"m[3]=%x, m[4]=%x)", le16_to_cpu(mailbox[1]),
|
||||
le16_to_cpu(mailbox[2]), le16_to_cpu(mailbox[3]),
|
||||
le16_to_cpu(mailbox[4]));
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Async LOOP_UP occured "
|
||||
"(m[1]=%x, m[2]=%x, m[3]=%x, m[4]=%x)", ha->instance,
|
||||
le16_to_cpu(mailbox[1]), le16_to_cpu(mailbox[2]),
|
||||
le16_to_cpu(mailbox[3]), le16_to_cpu(mailbox[4]));
|
||||
if (tgt->link_reinit_iocb_pending) {
|
||||
q24_send_notify_ack(ha, &tgt->link_reinit_iocb, 0, 0, 0);
|
||||
tgt->link_reinit_iocb_pending = 0;
|
||||
@@ -4892,25 +4918,26 @@ static void q2t_async_event(uint16_t code, scsi_qla_host_t *ha,
|
||||
case MBA_LIP_OCCURRED:
|
||||
case MBA_LOOP_DOWN:
|
||||
case MBA_LIP_RESET:
|
||||
TRACE(TRACE_MGMT, "Async event %#x occured (m[1]=%x, m[2]=%x, "
|
||||
"m[3]=%x, m[4]=%x)", code,
|
||||
le16_to_cpu(mailbox[1]), le16_to_cpu(mailbox[2]),
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Async event %#x occured "
|
||||
"(m[1]=%x, m[2]=%x, m[3]=%x, m[4]=%x)", ha->instance,
|
||||
code, le16_to_cpu(mailbox[1]), le16_to_cpu(mailbox[2]),
|
||||
le16_to_cpu(mailbox[3]), le16_to_cpu(mailbox[4]));
|
||||
break;
|
||||
|
||||
case MBA_PORT_UPDATE:
|
||||
case MBA_RSCN_UPDATE:
|
||||
TRACE(TRACE_MGMT, "Port update async event %#x occured: "
|
||||
"updating the ports database (m[1]=%x, m[2]=%x, "
|
||||
"m[3]=%x, m[4]=%x)", code,
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Port update async event %#x "
|
||||
"occured: updating the ports database (m[1]=%x, m[2]=%x, "
|
||||
"m[3]=%x, m[4]=%x)", ha->instance, code,
|
||||
le16_to_cpu(mailbox[1]), le16_to_cpu(mailbox[2]),
|
||||
le16_to_cpu(mailbox[3]), le16_to_cpu(mailbox[4]));
|
||||
/* .mark_all_devices_lost() is handled by the initiator driver */
|
||||
break;
|
||||
|
||||
default:
|
||||
TRACE(TRACE_MGMT, "Async event %#x occured: ignore (m[1]=%x, "
|
||||
"m[2]=%x, m[3]=%x, m[4]=%x)", code,
|
||||
TRACE(TRACE_MGMT, "qla2x00t(%ld): Async event %#x occured: "
|
||||
"ignore (m[1]=%x, m[2]=%x, m[3]=%x, m[4]=%x)",
|
||||
ha->instance, code,
|
||||
le16_to_cpu(mailbox[1]), le16_to_cpu(mailbox[2]),
|
||||
le16_to_cpu(mailbox[3]), le16_to_cpu(mailbox[4]));
|
||||
break;
|
||||
@@ -4931,7 +4958,8 @@ static int q2t_get_target_name(uint8_t *wwn, char **ppwwn_name)
|
||||
|
||||
name = kmalloc(wwn_len, GFP_KERNEL);
|
||||
if (name == NULL) {
|
||||
TRACE(TRACE_OUT_OF_MEM, "%s", "Allocation of tgt name failed");
|
||||
TRACE(TRACE_OUT_OF_MEM, "%s", "qla2x00t: Allocation of tgt "
|
||||
"name failed");
|
||||
res = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
@@ -4960,7 +4988,8 @@ static int q24_get_loop_id(scsi_qla_host_t *ha, atio7_entry_t *atio7,
|
||||
gid_list = dma_alloc_coherent(&ha->pdev->dev, GID_LIST_SIZE,
|
||||
&gid_list_dma, GFP_KERNEL);
|
||||
if (gid_list == NULL) {
|
||||
PRINT_ERROR("DMA Alloc failed of %zd", GID_LIST_SIZE);
|
||||
PRINT_ERROR("qla2x00t(%ld): DMA Alloc failed of %zd",
|
||||
ha->instance, GID_LIST_SIZE);
|
||||
res = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
@@ -4968,7 +4997,8 @@ static int q24_get_loop_id(scsi_qla_host_t *ha, atio7_entry_t *atio7,
|
||||
/* Get list of logged in devices */
|
||||
rc = qla2x00_get_id_list(ha, gid_list, gid_list_dma, &entries);
|
||||
if (rc != QLA_SUCCESS) {
|
||||
PRINT_ERROR("get_id_list() failed: %x", rc);
|
||||
PRINT_ERROR("qla2x00t(%ld): get_id_list() failed: %x",
|
||||
ha->instance, rc);
|
||||
res = -1;
|
||||
goto out_free_id_list;
|
||||
}
|
||||
@@ -4998,9 +5028,10 @@ static int q24_get_loop_id(scsi_qla_host_t *ha, atio7_entry_t *atio7,
|
||||
"%x:%x:%x", atio7->fcp_hdr.s_id[0],
|
||||
atio7->fcp_hdr.s_id[1], atio7->fcp_hdr.s_id[2]);
|
||||
} else
|
||||
PRINT_ERROR("Unable to find initiator with S_ID "
|
||||
"%x:%x:%x", atio7->fcp_hdr.s_id[0],
|
||||
atio7->fcp_hdr.s_id[1], atio7->fcp_hdr.s_id[2]);
|
||||
PRINT_ERROR("qla2x00t(%ld): Unable to find initiator with "
|
||||
"S_ID %x:%x:%x", ha->instance,
|
||||
atio7->fcp_hdr.s_id[0], atio7->fcp_hdr.s_id[1],
|
||||
atio7->fcp_hdr.s_id[2]);
|
||||
}
|
||||
|
||||
out_free_id_list:
|
||||
@@ -5030,7 +5061,8 @@ static struct q2t_sess *q2t_make_local_sess(scsi_qla_host_t *ha, atio_t *atio)
|
||||
|
||||
fcport = kzalloc(sizeof(*fcport), GFP_KERNEL);
|
||||
if (fcport == NULL) {
|
||||
PRINT_ERROR("%s", "Allocation of tmp FC port failed");
|
||||
PRINT_ERROR("qla2x00t(%ld): Allocation of tmp FC port failed",
|
||||
ha->instance);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -5040,9 +5072,9 @@ static struct q2t_sess *q2t_make_local_sess(scsi_qla_host_t *ha, atio_t *atio)
|
||||
|
||||
rc = qla2x00_get_port_database(ha, fcport, 0);
|
||||
if (rc != QLA_SUCCESS) {
|
||||
PRINT_ERROR("Failed to retrieve fcport information "
|
||||
"-- get_port_database() returned %x "
|
||||
"(loop_id=0x%04x)", rc, loop_id);
|
||||
PRINT_ERROR("qla2x00t(%ld): Failed to retrieve fcport "
|
||||
"information -- get_port_database() returned %x "
|
||||
"(loop_id=0x%04x)", ha->instance, rc, loop_id);
|
||||
goto out_free_fcport;
|
||||
}
|
||||
|
||||
@@ -5255,7 +5287,7 @@ static int q2t_add_target(scsi_qla_host_t *ha)
|
||||
|
||||
tgt = kzalloc(sizeof(*tgt), GFP_KERNEL);
|
||||
if (tgt == NULL) {
|
||||
TRACE(TRACE_OUT_OF_MEM, "%s", "Allocation of tgt "
|
||||
TRACE(TRACE_OUT_OF_MEM, "qla2x00t: %s", "Allocation of tgt "
|
||||
"failed");
|
||||
res = -ENOMEM;
|
||||
goto out;
|
||||
@@ -5294,7 +5326,7 @@ static int q2t_add_target(scsi_qla_host_t *ha)
|
||||
}
|
||||
|
||||
if (IS_FWI2_CAPABLE(ha)) {
|
||||
PRINT_INFO("qla2400tgt(%ld): using 64 Bit PCI "
|
||||
PRINT_INFO("qla2x00t(%ld): using 64 Bit PCI "
|
||||
"addressing", ha->instance);
|
||||
tgt->tgt_enable_64bit_addr = 1;
|
||||
/* 3 is reserved */
|
||||
@@ -5326,29 +5358,30 @@ static int q2t_add_target(scsi_qla_host_t *ha)
|
||||
rc = sysfs_create_link(scst_sysfs_get_tgt_kobj(tgt->scst_tgt),
|
||||
&ha->host->shost_dev.kobj, "host");
|
||||
if (rc != 0)
|
||||
PRINT_ERROR("Unable to create \"host\" link for target "
|
||||
"%s", scst_get_tgt_name(tgt->scst_tgt));
|
||||
PRINT_ERROR("qla2x00t(%ld): Unable to create \"host\" link for "
|
||||
"target %s", ha->instance,
|
||||
scst_get_tgt_name(tgt->scst_tgt));
|
||||
if (!ha->parent) {
|
||||
rc = sysfs_create_file(scst_sysfs_get_tgt_kobj(tgt->scst_tgt),
|
||||
&q2t_hw_target_attr.attr);
|
||||
if (rc != 0)
|
||||
PRINT_ERROR("Unable to create \"hw_target\""
|
||||
" file for target %s",
|
||||
scst_get_tgt_name(tgt->scst_tgt));
|
||||
PRINT_ERROR("qla2x00t(%ld): Unable to create "
|
||||
"\"hw_target\" file for target %s",
|
||||
ha->instance, scst_get_tgt_name(tgt->scst_tgt));
|
||||
} else {
|
||||
rc = sysfs_create_file(scst_sysfs_get_tgt_kobj(tgt->scst_tgt),
|
||||
&q2t_vp_node_name_attr.attr);
|
||||
if (rc != 0)
|
||||
PRINT_ERROR("Unable to create \"node_name\""
|
||||
" file for NPIV target %s",
|
||||
scst_get_tgt_name(tgt->scst_tgt));
|
||||
PRINT_ERROR("qla2x00t(%ld): Unable to create "
|
||||
"\"node_name\" file for NPIV target %s",
|
||||
ha->instance, scst_get_tgt_name(tgt->scst_tgt));
|
||||
|
||||
rc = sysfs_create_file(scst_sysfs_get_tgt_kobj(tgt->scst_tgt),
|
||||
&q2t_vp_parent_host_attr.attr);
|
||||
if (rc != 0)
|
||||
PRINT_ERROR("Unable to create \"parent_host\""
|
||||
" file for NPIV target %s",
|
||||
scst_get_tgt_name(tgt->scst_tgt));
|
||||
PRINT_ERROR("qla2x00t(%ld): Unable to create "
|
||||
"\"parent_host\" file for NPIV target %s",
|
||||
ha->instance, scst_get_tgt_name(tgt->scst_tgt));
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -5540,7 +5573,8 @@ static ssize_t q2t_add_vtarget(const char *target_name, char *params)
|
||||
|
||||
res = q2t_parse_wwn(target_name, &port_name);
|
||||
if (res) {
|
||||
PRINT_ERROR("Syntax error at target name %s", target_name);
|
||||
PRINT_ERROR("qla2x00t: Syntax error at target name %s",
|
||||
target_name);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -5551,7 +5585,7 @@ static ssize_t q2t_add_vtarget(const char *target_name, char *params)
|
||||
|
||||
p = scst_get_next_lexem(¶m);
|
||||
if (*p == '\0') {
|
||||
PRINT_ERROR("Syntax error at %s (target %s)",
|
||||
PRINT_ERROR("qla2x00t: Syntax error at %s (target %s)",
|
||||
param, target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
@@ -5559,16 +5593,15 @@ static ssize_t q2t_add_vtarget(const char *target_name, char *params)
|
||||
|
||||
pp = scst_get_next_lexem(¶m);
|
||||
if (*pp == '\0') {
|
||||
PRINT_ERROR("Parameter %s value missed for target %s",
|
||||
p, target_name);
|
||||
PRINT_ERROR("qla2x00t: Parameter %s value missed for "
|
||||
"target %s", p, target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (scst_get_next_lexem(¶m)[0] != '\0') {
|
||||
PRINT_ERROR("Too many parameter's %s values "
|
||||
"(target %s)",
|
||||
p, target_name);
|
||||
PRINT_ERROR("qla2x00t: Too many parameter's %s values "
|
||||
"(target %s)", p, target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
@@ -5576,7 +5609,7 @@ static ssize_t q2t_add_vtarget(const char *target_name, char *params)
|
||||
if (!strcasecmp("node_name", p)) {
|
||||
res = q2t_parse_wwn(pp, &node_name);
|
||||
if (res) {
|
||||
PRINT_ERROR("Illegal node_name %s "
|
||||
PRINT_ERROR("qla2x00t: Illegal node_name %s "
|
||||
"(target %s)", pp, target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
@@ -5588,7 +5621,7 @@ static ssize_t q2t_add_vtarget(const char *target_name, char *params)
|
||||
if (!strcasecmp("parent_host", p)) {
|
||||
res = q2t_parse_wwn(pp, &parent_host);
|
||||
if (res != 0) {
|
||||
PRINT_ERROR("Illegal parent_host %s"
|
||||
PRINT_ERROR("qla2x00t: Illegal parent_host %s"
|
||||
" (target %s)", pp, target_name);
|
||||
goto out;
|
||||
}
|
||||
@@ -5596,22 +5629,22 @@ static ssize_t q2t_add_vtarget(const char *target_name, char *params)
|
||||
continue;
|
||||
}
|
||||
|
||||
PRINT_ERROR("Unknown parameter %s (target %s)", p,
|
||||
target_name);
|
||||
PRINT_ERROR("qla2x00t: Unknown parameter %s (target %s)", p,
|
||||
target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!pnode_name) {
|
||||
PRINT_ERROR("Missing parameter node_name (target %s)",
|
||||
target_name);
|
||||
PRINT_ERROR("qla2x00t: Missing parameter node_name (target %s)",
|
||||
target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!pparent_host) {
|
||||
PRINT_ERROR("Missing parameter parent_host (target %s)",
|
||||
target_name);
|
||||
PRINT_ERROR("qla2x00t: Missing parameter parent_host "
|
||||
"(target %s)", target_name);
|
||||
res = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
@@ -5632,7 +5665,8 @@ static ssize_t q2t_del_vtarget(const char *target_name)
|
||||
|
||||
res = q2t_parse_wwn(target_name, &port_name);
|
||||
if (res) {
|
||||
PRINT_ERROR("Syntax error at target name %s", target_name);
|
||||
PRINT_ERROR("qla2x00t: Syntax error at target name %s",
|
||||
target_name);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -5663,8 +5697,8 @@ static int q2t_get_initiator_port_transport_id(struct scst_session *scst_sess,
|
||||
|
||||
tr_id = kzalloc(tr_id_size, GFP_KERNEL);
|
||||
if (tr_id == NULL) {
|
||||
PRINT_ERROR("Allocation of TransportID (size %d) failed",
|
||||
tr_id_size);
|
||||
PRINT_ERROR("qla2x00t: Allocation of TransportID (size %d) "
|
||||
"failed", tr_id_size);
|
||||
res = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
@@ -5721,19 +5755,17 @@ static ssize_t q2t_store_expl_conf_enabled(struct kobject *kobj,
|
||||
switch (buffer[0]) {
|
||||
case '0':
|
||||
ha->enable_explicit_conf = 0;
|
||||
PRINT_INFO("qla2xxx(%ld): explicit conformations disabled",
|
||||
PRINT_INFO("qla2x00t(%ld): explicit conformations disabled",
|
||||
ha->instance);
|
||||
break;
|
||||
case '1':
|
||||
ha->enable_explicit_conf = 1;
|
||||
PRINT_INFO("qla2xxx(%ld): explicit conformations enabled",
|
||||
PRINT_INFO("qla2x00t(%ld): explicit conformations enabled",
|
||||
ha->instance);
|
||||
break;
|
||||
default:
|
||||
#if defined(QL_DEBUG_LEVEL_9) || defined(QL_DEBUG_LEVEL_11)
|
||||
PRINT_INFO("%s: Requested action not understood: %s",
|
||||
__func__, buffer);
|
||||
#endif
|
||||
PRINT_ERROR("%s: qla2x00t(%ld): Requested action not "
|
||||
"understood: %s", __func__, ha->instance, buffer);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5753,7 +5785,7 @@ static ssize_t q2t_abort_isp_store(struct kobject *kobj,
|
||||
tgt = (struct q2t_tgt *)scst_tgt_get_tgt_priv(scst_tgt);
|
||||
ha = tgt->ha;
|
||||
|
||||
PRINT_INFO("qla2xxx(%ld): Aborting ISP", ha->instance);
|
||||
PRINT_INFO("qla2x00t(%ld): Aborting ISP", ha->instance);
|
||||
|
||||
set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);
|
||||
qla2x00_wait_for_hba_online(ha);
|
||||
@@ -5829,8 +5861,8 @@ static ssize_t q2t_vp_parent_host_show(struct kobject *kobj,
|
||||
ha = to_qla_parent(tgt->ha);
|
||||
|
||||
if (!ha) {
|
||||
PRINT_ERROR("No parent for NPIV target %s",
|
||||
scst_get_tgt_name(scst_tgt));
|
||||
PRINT_ERROR("qla2x00t(%ld): No parent for NPIV target %s",
|
||||
tgt->ha->instance, scst_get_tgt_name(scst_tgt));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5933,7 +5965,7 @@ static __init int q2t_proc_log_entry_build(struct scst_tgt_template *templ)
|
||||
p = scst_create_proc_entry(root, Q2T_PROC_VERSION_NAME,
|
||||
&q2t_version_proc_data);
|
||||
if (p == NULL) {
|
||||
PRINT_ERROR("Not enough memory to register "
|
||||
PRINT_ERROR("qla2x00t: Not enough memory to register "
|
||||
"target driver %s entry %s in /proc",
|
||||
templ->name, Q2T_PROC_VERSION_NAME);
|
||||
res = -ENOMEM;
|
||||
@@ -5946,7 +5978,7 @@ static __init int q2t_proc_log_entry_build(struct scst_tgt_template *templ)
|
||||
p = scst_create_proc_entry(root, Q2T_PROC_LOG_ENTRY_NAME,
|
||||
&q2t_log_proc_data);
|
||||
if (p == NULL) {
|
||||
PRINT_ERROR("Not enough memory to register "
|
||||
PRINT_ERROR("qla2x00t: Not enough memory to register "
|
||||
"target driver %s entry %s in /proc",
|
||||
templ->name, Q2T_PROC_LOG_ENTRY_NAME);
|
||||
res = -ENOMEM;
|
||||
@@ -6005,8 +6037,8 @@ static int __init q2t_init(void)
|
||||
|
||||
BUILD_BUG_ON(sizeof(atio7_entry_t) != sizeof(atio_entry_t));
|
||||
|
||||
PRINT_INFO("Initializing QLogic Fibre Channel HBA Driver target mode "
|
||||
"addon version %s", Q2T_VERSION_STRING);
|
||||
PRINT_INFO("qla2x00t: Initializing QLogic Fibre Channel HBA Driver "
|
||||
"target mode addon version %s", Q2T_VERSION_STRING);
|
||||
|
||||
q2t_cmd_cachep = KMEM_CACHE(q2t_cmd, SCST_SLAB_FLAGS);
|
||||
if (q2t_cmd_cachep == NULL) {
|
||||
@@ -6067,8 +6099,8 @@ static void __exit q2t_exit(void)
|
||||
{
|
||||
TRACE_ENTRY();
|
||||
|
||||
PRINT_INFO("%s", "Unloading QLogic Fibre Channel HBA Driver target "
|
||||
"mode addon driver");
|
||||
PRINT_INFO("qla2x00t: %s", "Unloading QLogic Fibre Channel HBA Driver "
|
||||
"target mode addon driver");
|
||||
|
||||
/* To sync with q2t_host_action() */
|
||||
down_write(&q2t_unreg_rwsem);
|
||||
|
||||
@@ -4543,7 +4543,7 @@ void scst_abort_cmd(struct scst_cmd *cmd, struct scst_mgmt_cmd *mcmd,
|
||||
|
||||
TRACE_ENTRY();
|
||||
|
||||
TRACE(TRACE_MGMT, "Aborting cmd %p (tag %llu, op %x)",
|
||||
TRACE(TRACE_SCSI|TRACE_MGMT_DEBUG, "Aborting cmd %p (tag %llu, op %x)",
|
||||
cmd, (long long unsigned int)cmd->tag, cmd->cdb[0]);
|
||||
|
||||
/* To protect from concurrent aborts */
|
||||
@@ -5537,7 +5537,11 @@ static void scst_mgmt_cmd_send_done(struct scst_mgmt_cmd *mcmd)
|
||||
if (scst_is_strict_mgmt_fn(mcmd->fn) && (mcmd->completed_cmd_count > 0))
|
||||
mcmd->status = SCST_MGMT_STATUS_TASK_NOT_EXIST;
|
||||
|
||||
TRACE(TRACE_MINOR_AND_MGMT_DBG, "TM command fn %d finished, "
|
||||
if (mcmd->fn < SCST_UNREG_SESS_TM)
|
||||
TRACE(TRACE_MGMT, "TM fn %d finished, "
|
||||
"status %x", mcmd->fn, mcmd->status);
|
||||
else
|
||||
TRACE_MGMT_DBG("TM fn %d finished, "
|
||||
"status %x", mcmd->fn, mcmd->status);
|
||||
|
||||
if (mcmd->fn == SCST_PR_ABORT_ALL) {
|
||||
@@ -5870,7 +5874,7 @@ int scst_rx_mgmt_fn(struct scst_session *sess,
|
||||
mcmd->cmd_sn_set = params->cmd_sn_set;
|
||||
mcmd->cmd_sn = params->cmd_sn;
|
||||
|
||||
if (params->fn <= SCST_TARGET_RESET)
|
||||
if (params->fn < SCST_UNREG_SESS_TM)
|
||||
TRACE(TRACE_MGMT, "TM fn %d", params->fn);
|
||||
else
|
||||
TRACE_MGMT_DBG("TM fn %d", params->fn);
|
||||
|
||||
Reference in New Issue
Block a user