Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07f31805 authored by Andrew Vasquez's avatar Andrew Vasquez Committed by James Bottomley
Browse files

[SCSI] qla2xxx: Perform a fw-dump when an ISP23xx RISC-paused state is detected.

parent 0c8c39af
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -134,11 +134,11 @@ qla2300_intr_handler(int irq, void *dev_id)
		if (stat & HSR_RISC_PAUSED) {
		if (stat & HSR_RISC_PAUSED) {
			hccr = RD_REG_WORD(&reg->hccr);
			hccr = RD_REG_WORD(&reg->hccr);
			if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8))
			if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8))
				qla_printk(KERN_INFO, ha,
				qla_printk(KERN_INFO, ha, "Parity error -- "
				    "Parity error -- HCCR=%x.\n", hccr);
				    "HCCR=%x, Dumping firmware!\n", hccr);
			else
			else
				qla_printk(KERN_INFO, ha,
				qla_printk(KERN_INFO, ha, "RISC paused -- "
				    "RISC paused -- HCCR=%x.\n", hccr);
				    "HCCR=%x, Dumping firmware!\n", hccr);


			/*
			/*
			 * Issue a "HARD" reset in order for the RISC
			 * Issue a "HARD" reset in order for the RISC
@@ -147,6 +147,8 @@ qla2300_intr_handler(int irq, void *dev_id)
			 */
			 */
			WRT_REG_WORD(&reg->hccr, HCCR_RESET_RISC);
			WRT_REG_WORD(&reg->hccr, HCCR_RESET_RISC);
			RD_REG_WORD(&reg->hccr);
			RD_REG_WORD(&reg->hccr);

			ha->isp_ops.fw_dump(ha, 1);
			set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);
			set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags);
			break;
			break;
		} else if ((stat & HSR_RISC_INT) == 0)
		} else if ((stat & HSR_RISC_INT) == 0)