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.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index d3b6df4d55c8..39fd17b05be5 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -134,11 +134,11 @@ qla2300_intr_handler(int irq, void *dev_id)
134 if (stat & HSR_RISC_PAUSED) { 134 if (stat & HSR_RISC_PAUSED) {
135 hccr = RD_REG_WORD(&reg->hccr); 135 hccr = RD_REG_WORD(&reg->hccr);
136 if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8)) 136 if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8))
137 qla_printk(KERN_INFO, ha, 137 qla_printk(KERN_INFO, ha, "Parity error -- "
138 "Parity error -- HCCR=%x.\n", hccr); 138 "HCCR=%x, Dumping firmware!\n", hccr);
139 else 139 else
140 qla_printk(KERN_INFO, ha, 140 qla_printk(KERN_INFO, ha, "RISC paused -- "
141 "RISC paused -- HCCR=%x.\n", hccr); 141 "HCCR=%x, Dumping firmware!\n", hccr);
142 142
143 /* 143 /*
144 * Issue a "HARD" reset in order for the RISC 144 * Issue a "HARD" reset in order for the RISC
@@ -147,6 +147,8 @@ qla2300_intr_handler(int irq, void *dev_id)
147 */ 147 */
148 WRT_REG_WORD(&reg->hccr, HCCR_RESET_RISC); 148 WRT_REG_WORD(&reg->hccr, HCCR_RESET_RISC);
149 RD_REG_WORD(&reg->hccr); 149 RD_REG_WORD(&reg->hccr);
150
151 ha->isp_ops.fw_dump(ha, 1);
150 set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); 152 set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);
151 break; 153 break;
152 } else if ((stat & HSR_RISC_INT) == 0) 154 } else if ((stat & HSR_RISC_INT) == 0)
@@ -475,6 +477,8 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint16_t *mb)
475 set_bit(RESET_MARKER_NEEDED, &ha->dpc_flags); 477 set_bit(RESET_MARKER_NEEDED, &ha->dpc_flags);
476 } 478 }
477 set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags); 479 set_bit(REGISTER_FC4_NEEDED, &ha->dpc_flags);
480
481 ha->flags.gpsc_supported = 1;
478 break; 482 break;
479 483
480 case MBA_CHG_IN_CONNECTION: /* Change in connection mode */ 484 case MBA_CHG_IN_CONNECTION: /* Change in connection mode */
@@ -1440,8 +1444,7 @@ qla24xx_intr_handler(int irq, void *dev_id)
1440 1444
1441 qla_printk(KERN_INFO, ha, "RISC paused -- HCCR=%x, " 1445 qla_printk(KERN_INFO, ha, "RISC paused -- HCCR=%x, "
1442 "Dumping firmware!\n", hccr); 1446 "Dumping firmware!\n", hccr);
1443 qla24xx_fw_dump(ha, 1); 1447 ha->isp_ops.fw_dump(ha, 1);
1444
1445 set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); 1448 set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);
1446 break; 1449 break;
1447 } else if ((stat & HSRX_RISC_INT) == 0) 1450 } else if ((stat & HSRX_RISC_INT) == 0)