@@ -1959,6 +1959,10 @@ qla2x00_async_event(scsi_qla_host_t *vha, struct rsp_que *rsp, uint16_t *mb)
ql_dbg(ql_dbg_async, vha, 0x5091, "Transceiver Removal\n");
break;
+ case MBA_REJECTED_FCP_CMD:
+ ql_dbg(ql_dbg_async, vha, 0x5092, "LS_RJT was sent. No resources to process the ELS request.\n");
+ break;
+
default:
ql_dbg(ql_dbg_async, vha, 0x5057,
"Unknown AEN:%04x %04x %04x %04x\n",
@@ -6826,6 +6826,12 @@ qlt_24xx_process_atio_queue(struct scsi_qla_host *vha, uint8_t ha_locked)
qlt_send_term_exchange(ha->base_qpair, NULL, pkt,
ha_locked, 0);
} else {
+ /*
+ * If we get correct ATIO, then HBA had enough memory
+ * to proceed without reset.
+ */
+ WRITE_ONCE(vha->hw->exch_starvation, 0);
+
qlt_24xx_atio_pkt_all_vps(vha,
(struct atio_from_isp *)pkt, ha_locked);
}