qla2xxx: Fix wrong IOCB type assumption
qlt_reset is called with Immedidate Notify IOCB only. Current code wrongly cast it as ATIO IOCB. Signed-off-by: Quinn Tran <quinn.tran@cavium.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
This commit is contained in:

committed by
Bart Van Assche

parent
91f42b33e5
commit
bb1181c9a8
@@ -668,11 +668,9 @@ static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd)
|
|||||||
{
|
{
|
||||||
struct qla_hw_data *ha = vha->hw;
|
struct qla_hw_data *ha = vha->hw;
|
||||||
struct qla_tgt_sess *sess = NULL;
|
struct qla_tgt_sess *sess = NULL;
|
||||||
uint32_t unpacked_lun, lun = 0;
|
|
||||||
uint16_t loop_id;
|
uint16_t loop_id;
|
||||||
int res = 0;
|
int res = 0;
|
||||||
struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb;
|
struct imm_ntfy_from_isp *n = (struct imm_ntfy_from_isp *)iocb;
|
||||||
struct atio_from_isp *a = (struct atio_from_isp *)iocb;
|
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
loop_id = le16_to_cpu(n->u.isp24.nport_handle);
|
loop_id = le16_to_cpu(n->u.isp24.nport_handle);
|
||||||
@@ -725,11 +723,7 @@ static int qlt_reset(struct scsi_qla_host *vha, void *iocb, int mcmd)
|
|||||||
"loop_id %d)\n", vha->host_no, sess, sess->port_name,
|
"loop_id %d)\n", vha->host_no, sess, sess->port_name,
|
||||||
mcmd, loop_id);
|
mcmd, loop_id);
|
||||||
|
|
||||||
lun = a->u.isp24.fcp_cmnd.lun;
|
return qlt_issue_task_mgmt(sess, 0, mcmd, iocb, QLA24XX_MGMT_SEND_NACK);
|
||||||
unpacked_lun = scsilun_to_int((struct scsi_lun *)&lun);
|
|
||||||
|
|
||||||
return qlt_issue_task_mgmt(sess, unpacked_lun, mcmd,
|
|
||||||
iocb, QLA24XX_MGMT_SEND_NACK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ha->tgt.sess_lock supposed to be held on entry */
|
/* ha->tgt.sess_lock supposed to be held on entry */
|
||||||
|
Reference in New Issue
Block a user