diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 18 |
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 | |