[SCSI] qla2xxx: Reference proper ha during SBR handling.
The executing-HA of an SRB can be referenced from the sp->fcport. Use this correct value while processing status-continuation data and abort processing. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
946fb8915a
commit
19851f136a
|
@ -879,11 +879,12 @@ qla2x00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t sense_len)
|
||||||
sp->request_sense_ptr += sense_len;
|
sp->request_sense_ptr += sense_len;
|
||||||
sp->request_sense_length -= sense_len;
|
sp->request_sense_length -= sense_len;
|
||||||
if (sp->request_sense_length != 0)
|
if (sp->request_sense_length != 0)
|
||||||
sp->ha->status_srb = sp;
|
sp->fcport->ha->status_srb = sp;
|
||||||
|
|
||||||
DEBUG5(printk("%s(): Check condition Sense data, scsi(%ld:%d:%d:%d) "
|
DEBUG5(printk("%s(): Check condition Sense data, scsi(%ld:%d:%d:%d) "
|
||||||
"cmd=%p pid=%ld\n", __func__, sp->ha->host_no, cp->device->channel,
|
"cmd=%p pid=%ld\n", __func__, sp->fcport->ha->host_no,
|
||||||
cp->device->id, cp->device->lun, cp, cp->serial_number));
|
cp->device->channel, cp->device->id, cp->device->lun, cp,
|
||||||
|
cp->serial_number));
|
||||||
if (sense_len)
|
if (sense_len)
|
||||||
DEBUG5(qla2x00_dump_buffer(cp->sense_buffer,
|
DEBUG5(qla2x00_dump_buffer(cp->sense_buffer,
|
||||||
CMD_ACTUAL_SNSLEN(cp)));
|
CMD_ACTUAL_SNSLEN(cp)));
|
||||||
|
|
|
@ -780,7 +780,8 @@ qla2x00_eh_wait_for_pending_commands(scsi_qla_host_t *ha, unsigned int t,
|
||||||
sp = pha->outstanding_cmds[cnt];
|
sp = pha->outstanding_cmds[cnt];
|
||||||
if (!sp)
|
if (!sp)
|
||||||
continue;
|
continue;
|
||||||
if (ha->vp_idx != sp->ha->vp_idx)
|
|
||||||
|
if (ha->vp_idx != sp->fcport->ha->vp_idx)
|
||||||
continue;
|
continue;
|
||||||
match = 0;
|
match = 0;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
|
Loading…
Reference in New Issue