|
@@ -436,8 +436,6 @@ mpt_base_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *reply)
|
|
*/
|
|
*/
|
|
if (pEvReply->MsgFlags & MPI_MSGFLAGS_CONTINUATION_REPLY) {
|
|
if (pEvReply->MsgFlags & MPI_MSGFLAGS_CONTINUATION_REPLY) {
|
|
freereq = 0;
|
|
freereq = 0;
|
|
- devtverboseprintk((MYIOC_s_WARN_FMT "EVENT_NOTIFICATION reply %p does not return Request frame\n",
|
|
|
|
- ioc->name, pEvReply));
|
|
|
|
} else {
|
|
} else {
|
|
devtverboseprintk((MYIOC_s_WARN_FMT "EVENT_NOTIFICATION reply %p returns Request frame\n",
|
|
devtverboseprintk((MYIOC_s_WARN_FMT "EVENT_NOTIFICATION reply %p returns Request frame\n",
|
|
ioc->name, pEvReply));
|
|
ioc->name, pEvReply));
|
|
@@ -5030,19 +5028,18 @@ SendEventAck(MPT_ADAPTER *ioc, EventNotificationReply_t *evnp)
|
|
EventAck_t *pAck;
|
|
EventAck_t *pAck;
|
|
|
|
|
|
if ((pAck = (EventAck_t *) mpt_get_msg_frame(mpt_base_index, ioc)) == NULL) {
|
|
if ((pAck = (EventAck_t *) mpt_get_msg_frame(mpt_base_index, ioc)) == NULL) {
|
|
- printk(MYIOC_s_WARN_FMT "Unable to allocate event ACK "
|
|
|
|
- "request frame for Event=%x EventContext=%x EventData=%x!\n",
|
|
|
|
- ioc->name, evnp->Event, le32_to_cpu(evnp->EventContext),
|
|
|
|
- le32_to_cpu(evnp->Data[0]));
|
|
|
|
|
|
+ dfailprintk((MYIOC_s_WARN_FMT "%s, no msg frames!!\n",
|
|
|
|
+ ioc->name,__FUNCTION__));
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
- memset(pAck, 0, sizeof(*pAck));
|
|
|
|
|
|
|
|
- dprintk((MYIOC_s_INFO_FMT "Sending EventAck\n", ioc->name));
|
|
|
|
|
|
+ devtverboseprintk((MYIOC_s_INFO_FMT "Sending EventAck\n", ioc->name));
|
|
|
|
|
|
pAck->Function = MPI_FUNCTION_EVENT_ACK;
|
|
pAck->Function = MPI_FUNCTION_EVENT_ACK;
|
|
pAck->ChainOffset = 0;
|
|
pAck->ChainOffset = 0;
|
|
|
|
+ pAck->Reserved[0] = pAck->Reserved[1] = 0;
|
|
pAck->MsgFlags = 0;
|
|
pAck->MsgFlags = 0;
|
|
|
|
+ pAck->Reserved1[0] = pAck->Reserved1[1] = pAck->Reserved1[2] = 0;
|
|
pAck->Event = evnp->Event;
|
|
pAck->Event = evnp->Event;
|
|
pAck->EventContext = evnp->EventContext;
|
|
pAck->EventContext = evnp->EventContext;
|
|
|
|
|
|
@@ -5704,9 +5701,9 @@ EventDescriptionStr(u8 event, u32 evData0, char *evStr)
|
|
break;
|
|
break;
|
|
case MPI_EVENT_EVENT_CHANGE:
|
|
case MPI_EVENT_EVENT_CHANGE:
|
|
if (evData0)
|
|
if (evData0)
|
|
- ds = "Events(ON) Change";
|
|
|
|
|
|
+ ds = "Events ON";
|
|
else
|
|
else
|
|
- ds = "Events(OFF) Change";
|
|
|
|
|
|
+ ds = "Events OFF";
|
|
break;
|
|
break;
|
|
case MPI_EVENT_INTEGRATED_RAID:
|
|
case MPI_EVENT_INTEGRATED_RAID:
|
|
{
|
|
{
|
|
@@ -5777,8 +5774,27 @@ EventDescriptionStr(u8 event, u32 evData0, char *evStr)
|
|
break;
|
|
break;
|
|
case MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED:
|
|
case MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED:
|
|
snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
- "SAS Device Status Change: No Persistancy "
|
|
|
|
- "Added: id=%d", id);
|
|
|
|
|
|
+ "SAS Device Status Change: No Persistancy: id=%d", id);
|
|
|
|
+ break;
|
|
|
|
+ case MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET:
|
|
|
|
+ snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
|
|
+ "SAS Device Status Change: Internal Device Reset : id=%d", id);
|
|
|
|
+ break;
|
|
|
|
+ case MPI_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL:
|
|
|
|
+ snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
|
|
+ "SAS Device Status Change: Internal Task Abort : id=%d", id);
|
|
|
|
+ break;
|
|
|
|
+ case MPI_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL:
|
|
|
|
+ snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
|
|
+ "SAS Device Status Change: Internal Abort Task Set : id=%d", id);
|
|
|
|
+ break;
|
|
|
|
+ case MPI_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL:
|
|
|
|
+ snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
|
|
+ "SAS Device Status Change: Internal Clear Task Set : id=%d", id);
|
|
|
|
+ break;
|
|
|
|
+ case MPI_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL:
|
|
|
|
+ snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
|
|
+ "SAS Device Status Change: Internal Query Task : id=%d", id);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
snprintf(evStr, EVENT_DESCR_STR_SZ,
|
|
@@ -6034,7 +6050,7 @@ ProcessEventNotification(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply
|
|
* @ioc: Pointer to MPT_ADAPTER structure
|
|
* @ioc: Pointer to MPT_ADAPTER structure
|
|
* @log_info: U32 LogInfo reply word from the IOC
|
|
* @log_info: U32 LogInfo reply word from the IOC
|
|
*
|
|
*
|
|
- * Refer to lsi/fc_log.h.
|
|
|
|
|
|
+ * Refer to lsi/mpi_log_fc.h.
|
|
*/
|
|
*/
|
|
static void
|
|
static void
|
|
mpt_fc_log_info(MPT_ADAPTER *ioc, u32 log_info)
|
|
mpt_fc_log_info(MPT_ADAPTER *ioc, u32 log_info)
|
|
@@ -6131,8 +6147,10 @@ mpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info)
|
|
"Invalid SAS Address", /* 01h */
|
|
"Invalid SAS Address", /* 01h */
|
|
NULL, /* 02h */
|
|
NULL, /* 02h */
|
|
"Invalid Page", /* 03h */
|
|
"Invalid Page", /* 03h */
|
|
- NULL, /* 04h */
|
|
|
|
- "Task Terminated" /* 05h */
|
|
|
|
|
|
+ "Diag Message Error", /* 04h */
|
|
|
|
+ "Task Terminated", /* 05h */
|
|
|
|
+ "Enclosure Management", /* 06h */
|
|
|
|
+ "Target Mode" /* 07h */
|
|
};
|
|
};
|
|
static char *pl_code_str[] = {
|
|
static char *pl_code_str[] = {
|
|
NULL, /* 00h */
|
|
NULL, /* 00h */
|
|
@@ -6158,7 +6176,7 @@ mpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info)
|
|
"IO Executed", /* 14h */
|
|
"IO Executed", /* 14h */
|
|
"Persistant Reservation Out Not Affiliation Owner", /* 15h */
|
|
"Persistant Reservation Out Not Affiliation Owner", /* 15h */
|
|
"Open Transmit DMA Abort", /* 16h */
|
|
"Open Transmit DMA Abort", /* 16h */
|
|
- NULL, /* 17h */
|
|
|
|
|
|
+ "IO Device Missing Delay Retry", /* 17h */
|
|
NULL, /* 18h */
|
|
NULL, /* 18h */
|
|
NULL, /* 19h */
|
|
NULL, /* 19h */
|
|
NULL, /* 1Ah */
|
|
NULL, /* 1Ah */
|
|
@@ -6238,7 +6256,7 @@ static void
|
|
mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf)
|
|
mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf)
|
|
{
|
|
{
|
|
u32 status = ioc_status & MPI_IOCSTATUS_MASK;
|
|
u32 status = ioc_status & MPI_IOCSTATUS_MASK;
|
|
- char *desc = "";
|
|
|
|
|
|
+ char *desc = NULL;
|
|
|
|
|
|
switch (status) {
|
|
switch (status) {
|
|
case MPI_IOCSTATUS_INVALID_FUNCTION: /* 0x0001 */
|
|
case MPI_IOCSTATUS_INVALID_FUNCTION: /* 0x0001 */
|
|
@@ -6348,7 +6366,7 @@ mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf)
|
|
desc = "Others";
|
|
desc = "Others";
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- if (desc != "")
|
|
|
|
|
|
+ if (desc != NULL)
|
|
printk(MYIOC_s_INFO_FMT "IOCStatus(0x%04x): %s\n", ioc->name, status, desc);
|
|
printk(MYIOC_s_INFO_FMT "IOCStatus(0x%04x): %s\n", ioc->name, status, desc);
|
|
}
|
|
}
|
|
|
|
|