diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index f250e5b7897c..d04981848e56 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -852,9 +852,6 @@ qla2x00_process_completed_request(struct scsi_qla_host *vha, | |||
852 | /* Free outstanding command slot. */ | 852 | /* Free outstanding command slot. */ |
853 | req->outstanding_cmds[index] = NULL; | 853 | req->outstanding_cmds[index] = NULL; |
854 | 854 | ||
855 | CMD_COMPL_STATUS(sp->cmd) = 0L; | ||
856 | CMD_SCSI_STATUS(sp->cmd) = 0L; | ||
857 | |||
858 | /* Save ISP completion status */ | 855 | /* Save ISP completion status */ |
859 | sp->cmd->result = DID_OK << 16; | 856 | sp->cmd->result = DID_OK << 16; |
860 | 857 | ||
@@ -955,7 +952,6 @@ qla2x00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t sense_len) | |||
955 | if (sense_len >= SCSI_SENSE_BUFFERSIZE) | 952 | if (sense_len >= SCSI_SENSE_BUFFERSIZE) |
956 | sense_len = SCSI_SENSE_BUFFERSIZE; | 953 | sense_len = SCSI_SENSE_BUFFERSIZE; |
957 | 954 | ||
958 | CMD_ACTUAL_SNSLEN(cp) = sense_len; | ||
959 | sp->request_sense_length = sense_len; | 955 | sp->request_sense_length = sense_len; |
960 | sp->request_sense_ptr = cp->sense_buffer; | 956 | sp->request_sense_ptr = cp->sense_buffer; |
961 | if (sp->request_sense_length > 32) | 957 | if (sp->request_sense_length > 32) |
@@ -973,8 +969,7 @@ qla2x00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t sense_len) | |||
973 | cp->device->channel, cp->device->id, cp->device->lun, cp, | 969 | cp->device->channel, cp->device->id, cp->device->lun, cp, |
974 | cp->serial_number)); | 970 | cp->serial_number)); |
975 | if (sense_len) | 971 | if (sense_len) |
976 | DEBUG5(qla2x00_dump_buffer(cp->sense_buffer, | 972 | DEBUG5(qla2x00_dump_buffer(cp->sense_buffer, sense_len)); |
977 | CMD_ACTUAL_SNSLEN(cp))); | ||
978 | } | 973 | } |
979 | 974 | ||
980 | /** | 975 | /** |
@@ -1043,9 +1038,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) | |||
1043 | } | 1038 | } |
1044 | 1039 | ||
1045 | lscsi_status = scsi_status & STATUS_MASK; | 1040 | lscsi_status = scsi_status & STATUS_MASK; |
1046 | CMD_ENTRY_STATUS(cp) = sts->entry_status; | ||
1047 | CMD_COMPL_STATUS(cp) = comp_status; | ||
1048 | CMD_SCSI_STATUS(cp) = scsi_status; | ||
1049 | 1041 | ||
1050 | fcport = sp->fcport; | 1042 | fcport = sp->fcport; |
1051 | 1043 | ||
@@ -1104,7 +1096,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) | |||
1104 | if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER)) { | 1096 | if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER)) { |
1105 | resid = resid_len; | 1097 | resid = resid_len; |
1106 | scsi_set_resid(cp, resid); | 1098 | scsi_set_resid(cp, resid); |
1107 | CMD_RESID_LEN(cp) = resid; | ||
1108 | 1099 | ||
1109 | if (!lscsi_status && | 1100 | if (!lscsi_status && |
1110 | ((unsigned)(scsi_bufflen(cp) - resid) < | 1101 | ((unsigned)(scsi_bufflen(cp) - resid) < |
@@ -1160,7 +1151,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) | |||
1160 | 1151 | ||
1161 | if (scsi_status & SS_RESIDUAL_UNDER) { | 1152 | if (scsi_status & SS_RESIDUAL_UNDER) { |
1162 | scsi_set_resid(cp, resid); | 1153 | scsi_set_resid(cp, resid); |
1163 | CMD_RESID_LEN(cp) = resid; | ||
1164 | } else { | 1154 | } else { |
1165 | DEBUG2(printk(KERN_INFO | 1155 | DEBUG2(printk(KERN_INFO |
1166 | "scsi(%ld:%d:%d) UNDERRUN status detected " | 1156 | "scsi(%ld:%d:%d) UNDERRUN status detected " |
@@ -1499,7 +1489,6 @@ qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) | |||
1499 | void | 1489 | void |
1500 | qla24xx_process_response_queue(struct rsp_que *rsp) | 1490 | qla24xx_process_response_queue(struct rsp_que *rsp) |
1501 | { | 1491 | { |
1502 | struct qla_hw_data *ha = rsp->hw; | ||
1503 | struct sts_entry_24xx *pkt; | 1492 | struct sts_entry_24xx *pkt; |
1504 | struct scsi_qla_host *vha; | 1493 | struct scsi_qla_host *vha; |
1505 | 1494 | ||
@@ -1553,7 +1542,7 @@ qla24xx_process_response_queue(struct rsp_que *rsp) | |||
1553 | } | 1542 | } |
1554 | 1543 | ||
1555 | /* Adjust ring index */ | 1544 | /* Adjust ring index */ |
1556 | ha->isp_ops->wrt_rsp_reg(ha, rsp->id, rsp->ring_index); | 1545 | WRT_REG_DWORD(rsp->rsp_q_out, rsp->ring_index); |
1557 | } | 1546 | } |
1558 | 1547 | ||
1559 | static void | 1548 | static void |
@@ -2029,7 +2018,7 @@ skip_msix: | |||
2029 | skip_msi: | 2018 | skip_msi: |
2030 | 2019 | ||
2031 | ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler, | 2020 | ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler, |
2032 | IRQF_DISABLED|IRQF_SHARED, QLA2XXX_DRIVER_NAME, rsp); | 2021 | IRQF_SHARED, QLA2XXX_DRIVER_NAME, rsp); |
2033 | if (ret) { | 2022 | if (ret) { |
2034 | qla_printk(KERN_WARNING, ha, | 2023 | qla_printk(KERN_WARNING, ha, |
2035 | "Failed to reserve interrupt %d already in use.\n", | 2024 | "Failed to reserve interrupt %d already in use.\n", |
@@ -2117,18 +2106,3 @@ int qla25xx_request_irq(struct rsp_que *rsp) | |||
2117 | msix->rsp = rsp; | 2106 | msix->rsp = rsp; |
2118 | return ret; | 2107 | return ret; |
2119 | } | 2108 | } |
2120 | |||
2121 | void | ||
2122 | qla25xx_wrt_rsp_reg(struct qla_hw_data *ha, uint16_t id, uint16_t index) | ||
2123 | { | ||
2124 | device_reg_t __iomem *reg = (void *) ha->mqiobase + QLA_QUE_PAGE * id; | ||
2125 | WRT_REG_DWORD(®->isp25mq.rsp_q_out, index); | ||
2126 | } | ||
2127 | |||
2128 | void | ||
2129 | qla24xx_wrt_rsp_reg(struct qla_hw_data *ha, uint16_t id, uint16_t index) | ||
2130 | { | ||
2131 | device_reg_t __iomem *reg = (void *) ha->iobase; | ||
2132 | WRT_REG_DWORD(®->isp24.rsp_q_out, index); | ||
2133 | } | ||
2134 | |||