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

Commit a29b3dd7 authored by Joe Carnuccio's avatar Joe Carnuccio Committed by Martin K. Petersen
Browse files

qla2xxx: Shutdown board on thermal shutdown aen.

parent ad1ef177
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@
 * |                              |                    | 0x303a		|
 * | DPC Thread                   |       0x4023       | 0x4002,0x4013  |
 * | Async Events                 |       0x5089       | 0x502b-0x502f  |
 * |                              |                    | 0x505e         |
 * |				  | 		       | 0x5047         |
 * |                              |                    | 0x5084,0x5075	|
 * |                              |                    | 0x503d,0x5044  |
 * |                              |                    | 0x507b,0x505f	|
+1 −0
Original line number Diff line number Diff line
@@ -829,6 +829,7 @@ struct mbx_cmd_32 {
#define MBA_FW_RESTART_CMPLT	0x8060	/* Firmware restart complete */
#define MBA_INIT_REQUIRED	0x8061	/* Initialization required */
#define MBA_SHUTDOWN_REQUESTED	0x8062	/* Shutdown Requested */
#define MBA_TEMPERATURE_ALERT	0x8070	/* Temperature Alert */
#define MBA_DPORT_DIAGNOSTICS	0x8080	/* D-port Diagnostics */
#define MBA_FW_INIT_FAILURE	0x8401	/* Firmware initialization failure */
#define MBA_MIRROR_LUN_CHANGE	0x8402	/* Mirror LUN State Change
+7 −0
Original line number Diff line number Diff line
@@ -1158,6 +1158,13 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb)
		    mb[1] == 2 ? "done (error)" : "other");
		break;

	case MBA_TEMPERATURE_ALERT:
		ql_dbg(ql_dbg_async, vha, 0x505e,
		    "TEMPERATURE ALERT: %04x %04x %04x\n", mb[1], mb[2], mb[3]);
		if (mb[1] == 0x12)
			schedule_work(&ha->board_disable);
		break;

	default:
		ql_dbg(ql_dbg_async, vha, 0x5057,
		    "Unknown AEN:%04x %04x %04x %04x\n",
+10 −0
Original line number Diff line number Diff line
@@ -2901,6 +2901,10 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
	qlt_add_target(ha, base_vha);

	clear_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags);

	if (test_bit(UNLOADING, &base_vha->dpc_flags))
		return -ENODEV;

	return 0;

probe_init_failed:
@@ -2947,7 +2951,10 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
	ha = NULL;

probe_out:
	pci_disable_pcie_error_reporting(pdev);
	pci_disable_device(pdev);
	if (test_bit(UNLOADING, &base_vha->dpc_flags))
		return -ENODEV;
	return ret;
}

@@ -5002,6 +5009,9 @@ qla2x00_do_dpc(void *data)
		    "DPC handler waking up, dpc_flags=0x%lx.\n",
		    base_vha->dpc_flags);

		if (test_bit(UNLOADING, &base_vha->dpc_flags))
			break;

		qla2x00_do_work(base_vha);

		if (IS_P3P_TYPE(ha)) {