diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index e0e43d9e7ed1..1f06ddd9bdd1 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -1240,12 +1240,6 @@ qla24xx_logio_entry(scsi_qla_host_t *vha, struct req_que *req, | |||
1240 | case LSC_SCODE_NPORT_USED: | 1240 | case LSC_SCODE_NPORT_USED: |
1241 | data[0] = MBS_LOOP_ID_USED; | 1241 | data[0] = MBS_LOOP_ID_USED; |
1242 | break; | 1242 | break; |
1243 | case LSC_SCODE_CMD_FAILED: | ||
1244 | if ((iop[1] & 0xff) == 0x05) { | ||
1245 | data[0] = MBS_NOT_LOGGED_IN; | ||
1246 | break; | ||
1247 | } | ||
1248 | /* Fall through. */ | ||
1249 | default: | 1243 | default: |
1250 | data[0] = MBS_COMMAND_ERROR; | 1244 | data[0] = MBS_COMMAND_ERROR; |
1251 | break; | 1245 | break; |
@@ -1431,9 +1425,8 @@ qla2x00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t par_sense_len, | |||
1431 | rsp->status_srb = sp; | 1425 | rsp->status_srb = sp; |
1432 | 1426 | ||
1433 | DEBUG5(printk("%s(): Check condition Sense data, scsi(%ld:%d:%d:%d) " | 1427 | DEBUG5(printk("%s(): Check condition Sense data, scsi(%ld:%d:%d:%d) " |
1434 | "cmd=%p pid=%ld\n", __func__, sp->fcport->vha->host_no, | 1428 | "cmd=%p\n", __func__, sp->fcport->vha->host_no, |
1435 | cp->device->channel, cp->device->id, cp->device->lun, cp, | 1429 | cp->device->channel, cp->device->id, cp->device->lun, cp)); |
1436 | cp->serial_number)); | ||
1437 | if (sense_len) | 1430 | if (sense_len) |
1438 | DEBUG5(qla2x00_dump_buffer(cp->sense_buffer, sense_len)); | 1431 | DEBUG5(qla2x00_dump_buffer(cp->sense_buffer, sense_len)); |
1439 | } | 1432 | } |
@@ -1757,6 +1750,8 @@ check_scsi_status: | |||
1757 | case CS_INCOMPLETE: | 1750 | case CS_INCOMPLETE: |
1758 | case CS_PORT_UNAVAILABLE: | 1751 | case CS_PORT_UNAVAILABLE: |
1759 | case CS_TIMEOUT: | 1752 | case CS_TIMEOUT: |
1753 | case CS_RESET: | ||
1754 | |||
1760 | /* | 1755 | /* |
1761 | * We are going to have the fc class block the rport | 1756 | * We are going to have the fc class block the rport |
1762 | * while we try to recover so instruct the mid layer | 1757 | * while we try to recover so instruct the mid layer |
@@ -1781,10 +1776,6 @@ check_scsi_status: | |||
1781 | qla2x00_mark_device_lost(fcport->vha, fcport, 1, 1); | 1776 | qla2x00_mark_device_lost(fcport->vha, fcport, 1, 1); |
1782 | break; | 1777 | break; |
1783 | 1778 | ||
1784 | case CS_RESET: | ||
1785 | cp->result = DID_TRANSPORT_DISRUPTED << 16; | ||
1786 | break; | ||
1787 | |||
1788 | case CS_ABORTED: | 1779 | case CS_ABORTED: |
1789 | cp->result = DID_RESET << 16; | 1780 | cp->result = DID_RESET << 16; |
1790 | break; | 1781 | break; |
@@ -1801,10 +1792,10 @@ out: | |||
1801 | if (logit) | 1792 | if (logit) |
1802 | DEBUG2(qla_printk(KERN_INFO, ha, | 1793 | DEBUG2(qla_printk(KERN_INFO, ha, |
1803 | "scsi(%ld:%d:%d) FCP command status: 0x%x-0x%x (0x%x) " | 1794 | "scsi(%ld:%d:%d) FCP command status: 0x%x-0x%x (0x%x) " |
1804 | "oxid=0x%x ser=0x%lx cdb=%02x%02x%02x len=0x%x " | 1795 | "oxid=0x%x cdb=%02x%02x%02x len=0x%x " |
1805 | "rsp_info=0x%x resid=0x%x fw_resid=0x%x\n", vha->host_no, | 1796 | "rsp_info=0x%x resid=0x%x fw_resid=0x%x\n", vha->host_no, |
1806 | cp->device->id, cp->device->lun, comp_status, scsi_status, | 1797 | cp->device->id, cp->device->lun, comp_status, scsi_status, |
1807 | cp->result, ox_id, cp->serial_number, cp->cmnd[0], | 1798 | cp->result, ox_id, cp->cmnd[0], |
1808 | cp->cmnd[1], cp->cmnd[2], scsi_bufflen(cp), rsp_info_len, | 1799 | cp->cmnd[1], cp->cmnd[2], scsi_bufflen(cp), rsp_info_len, |
1809 | resid_len, fw_resid_len)); | 1800 | resid_len, fw_resid_len)); |
1810 | 1801 | ||