aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_isr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 6792cfae56e2..e7a8b74157a5 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -91,9 +91,6 @@ qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs)
91 } 91 }
92 spin_unlock_irqrestore(&ha->hardware_lock, flags); 92 spin_unlock_irqrestore(&ha->hardware_lock, flags);
93 93
94 ha->last_irq_cpu = _smp_processor_id();
95 ha->total_isr_cnt++;
96
97 if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && 94 if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) &&
98 (status & MBX_INTERRUPT) && ha->flags.mbox_int) { 95 (status & MBX_INTERRUPT) && ha->flags.mbox_int) {
99 spin_lock_irqsave(&ha->mbx_reg_lock, flags); 96 spin_lock_irqsave(&ha->mbx_reg_lock, flags);
@@ -200,9 +197,6 @@ qla2300_intr_handler(int irq, void *dev_id, struct pt_regs *regs)
200 } 197 }
201 spin_unlock_irqrestore(&ha->hardware_lock, flags); 198 spin_unlock_irqrestore(&ha->hardware_lock, flags);
202 199
203 ha->last_irq_cpu = _smp_processor_id();
204 ha->total_isr_cnt++;
205
206 if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && 200 if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) &&
207 (status & MBX_INTERRUPT) && ha->flags.mbox_int) { 201 (status & MBX_INTERRUPT) && ha->flags.mbox_int) {
208 spin_lock_irqsave(&ha->mbx_reg_lock, flags); 202 spin_lock_irqsave(&ha->mbx_reg_lock, flags);
@@ -417,7 +411,6 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint32_t mbx)
417 /* Update AEN queue. */ 411 /* Update AEN queue. */
418 qla2x00_enqueue_aen(ha, MBA_LIP_OCCURRED, NULL); 412 qla2x00_enqueue_aen(ha, MBA_LIP_OCCURRED, NULL);
419 413
420 ha->total_lip_cnt++;
421 break; 414 break;
422 415
423 case MBA_LOOP_UP: /* Loop Up Event */ 416 case MBA_LOOP_UP: /* Loop Up Event */
@@ -485,7 +478,6 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint32_t mbx)
485 /* Update AEN queue. */ 478 /* Update AEN queue. */
486 qla2x00_enqueue_aen(ha, MBA_LIP_RESET, NULL); 479 qla2x00_enqueue_aen(ha, MBA_LIP_RESET, NULL);
487 480
488 ha->total_lip_cnt++;
489 break; 481 break;
490 482
491 case MBA_POINT_TO_POINT: /* Point-to-Point */ 483 case MBA_POINT_TO_POINT: /* Point-to-Point */
@@ -695,14 +687,11 @@ qla2x00_process_completed_request(struct scsi_qla_host *ha, uint32_t index)
695 /* Free outstanding command slot. */ 687 /* Free outstanding command slot. */
696 ha->outstanding_cmds[index] = NULL; 688 ha->outstanding_cmds[index] = NULL;
697 689
698 if (ha->actthreads)
699 ha->actthreads--;
700 CMD_COMPL_STATUS(sp->cmd) = 0L; 690 CMD_COMPL_STATUS(sp->cmd) = 0L;
701 CMD_SCSI_STATUS(sp->cmd) = 0L; 691 CMD_SCSI_STATUS(sp->cmd) = 0L;
702 692
703 /* Save ISP completion status */ 693 /* Save ISP completion status */
704 sp->cmd->result = DID_OK << 16; 694 sp->cmd->result = DID_OK << 16;
705 sp->fo_retry_cnt = 0;
706 qla2x00_sp_compl(ha, sp); 695 qla2x00_sp_compl(ha, sp);
707 } else { 696 } else {
708 DEBUG2(printk("scsi(%ld): Invalid ISP SCSI completion handle\n", 697 DEBUG2(printk("scsi(%ld): Invalid ISP SCSI completion handle\n",
@@ -865,9 +854,6 @@ qla2x00_status_entry(scsi_qla_host_t *ha, sts_entry_t *pkt)
865 return; 854 return;
866 } 855 }
867 856
868 if (ha->actthreads)
869 ha->actthreads--;
870
871 comp_status = le16_to_cpu(pkt->comp_status); 857 comp_status = le16_to_cpu(pkt->comp_status);
872 /* Mask of reserved bits 12-15, before we examine the scsi status */ 858 /* Mask of reserved bits 12-15, before we examine the scsi status */
873 scsi_status = le16_to_cpu(pkt->scsi_status) & SS_MASK; 859 scsi_status = le16_to_cpu(pkt->scsi_status) & SS_MASK;
@@ -1026,7 +1012,6 @@ qla2x00_status_entry(scsi_qla_host_t *ha, sts_entry_t *pkt)
1026 cp->request_bufflen)); 1012 cp->request_bufflen));
1027 1013
1028 cp->result = DID_BUS_BUSY << 16; 1014 cp->result = DID_BUS_BUSY << 16;
1029 ha->dropped_frame_error_cnt++;
1030 break; 1015 break;
1031 } 1016 }
1032 1017
@@ -1233,8 +1218,7 @@ qla2x00_error_entry(scsi_qla_host_t *ha, sts_entry_t *pkt)
1233 if (sp) { 1218 if (sp) {
1234 /* Free outstanding command slot. */ 1219 /* Free outstanding command slot. */
1235 ha->outstanding_cmds[pkt->handle] = NULL; 1220 ha->outstanding_cmds[pkt->handle] = NULL;
1236 if (ha->actthreads) 1221
1237 ha->actthreads--;
1238 /* Bad payload or header */ 1222 /* Bad payload or header */
1239 if (pkt->entry_status & 1223 if (pkt->entry_status &
1240 (RF_INV_E_ORDER | RF_INV_E_COUNT | 1224 (RF_INV_E_ORDER | RF_INV_E_COUNT |