diff options
Diffstat (limited to 'drivers/message/fusion/mptbase.c')
-rw-r--r-- | drivers/message/fusion/mptbase.c | 54 |
1 files changed, 36 insertions, 18 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 10def27c1af5..a3f9275ebe58 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c | |||
@@ -436,8 +436,6 @@ mpt_base_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *reply) | |||
436 | */ | 436 | */ |
437 | if (pEvReply->MsgFlags & MPI_MSGFLAGS_CONTINUATION_REPLY) { | 437 | if (pEvReply->MsgFlags & MPI_MSGFLAGS_CONTINUATION_REPLY) { |
438 | freereq = 0; | 438 | freereq = 0; |
439 | devtverboseprintk((MYIOC_s_WARN_FMT "EVENT_NOTIFICATION reply %p does not return Request frame\n", | ||
440 | ioc->name, pEvReply)); | ||
441 | } else { | 439 | } else { |
442 | devtverboseprintk((MYIOC_s_WARN_FMT "EVENT_NOTIFICATION reply %p returns Request frame\n", | 440 | devtverboseprintk((MYIOC_s_WARN_FMT "EVENT_NOTIFICATION reply %p returns Request frame\n", |
443 | ioc->name, pEvReply)); | 441 | ioc->name, pEvReply)); |
@@ -5030,19 +5028,18 @@ SendEventAck(MPT_ADAPTER *ioc, EventNotificationReply_t *evnp) | |||
5030 | EventAck_t *pAck; | 5028 | EventAck_t *pAck; |
5031 | 5029 | ||
5032 | if ((pAck = (EventAck_t *) mpt_get_msg_frame(mpt_base_index, ioc)) == NULL) { | 5030 | if ((pAck = (EventAck_t *) mpt_get_msg_frame(mpt_base_index, ioc)) == NULL) { |
5033 | printk(MYIOC_s_WARN_FMT "Unable to allocate event ACK " | 5031 | dfailprintk((MYIOC_s_WARN_FMT "%s, no msg frames!!\n", |
5034 | "request frame for Event=%x EventContext=%x EventData=%x!\n", | 5032 | ioc->name,__FUNCTION__)); |
5035 | ioc->name, evnp->Event, le32_to_cpu(evnp->EventContext), | ||
5036 | le32_to_cpu(evnp->Data[0])); | ||
5037 | return -1; | 5033 | return -1; |
5038 | } | 5034 | } |
5039 | memset(pAck, 0, sizeof(*pAck)); | ||
5040 | 5035 | ||
5041 | dprintk((MYIOC_s_INFO_FMT "Sending EventAck\n", ioc->name)); | 5036 | devtverboseprintk((MYIOC_s_INFO_FMT "Sending EventAck\n", ioc->name)); |
5042 | 5037 | ||
5043 | pAck->Function = MPI_FUNCTION_EVENT_ACK; | 5038 | pAck->Function = MPI_FUNCTION_EVENT_ACK; |
5044 | pAck->ChainOffset = 0; | 5039 | pAck->ChainOffset = 0; |
5040 | pAck->Reserved[0] = pAck->Reserved[1] = 0; | ||
5045 | pAck->MsgFlags = 0; | 5041 | pAck->MsgFlags = 0; |
5042 | pAck->Reserved1[0] = pAck->Reserved1[1] = pAck->Reserved1[2] = 0; | ||
5046 | pAck->Event = evnp->Event; | 5043 | pAck->Event = evnp->Event; |
5047 | pAck->EventContext = evnp->EventContext; | 5044 | pAck->EventContext = evnp->EventContext; |
5048 | 5045 | ||
@@ -5704,9 +5701,9 @@ EventDescriptionStr(u8 event, u32 evData0, char *evStr) | |||
5704 | break; | 5701 | break; |
5705 | case MPI_EVENT_EVENT_CHANGE: | 5702 | case MPI_EVENT_EVENT_CHANGE: |
5706 | if (evData0) | 5703 | if (evData0) |
5707 | ds = "Events(ON) Change"; | 5704 | ds = "Events ON"; |
5708 | else | 5705 | else |
5709 | ds = "Events(OFF) Change"; | 5706 | ds = "Events OFF"; |
5710 | break; | 5707 | break; |
5711 | case MPI_EVENT_INTEGRATED_RAID: | 5708 | case MPI_EVENT_INTEGRATED_RAID: |
5712 | { | 5709 | { |
@@ -5777,8 +5774,27 @@ EventDescriptionStr(u8 event, u32 evData0, char *evStr) | |||
5777 | break; | 5774 | break; |
5778 | case MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED: | 5775 | case MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED: |
5779 | snprintf(evStr, EVENT_DESCR_STR_SZ, | 5776 | snprintf(evStr, EVENT_DESCR_STR_SZ, |
5780 | "SAS Device Status Change: No Persistancy " | 5777 | "SAS Device Status Change: No Persistancy: id=%d", id); |
5781 | "Added: id=%d", id); | 5778 | break; |
5779 | case MPI_EVENT_SAS_DEV_STAT_RC_INTERNAL_DEVICE_RESET: | ||
5780 | snprintf(evStr, EVENT_DESCR_STR_SZ, | ||
5781 | "SAS Device Status Change: Internal Device Reset : id=%d", id); | ||
5782 | break; | ||
5783 | case MPI_EVENT_SAS_DEV_STAT_RC_TASK_ABORT_INTERNAL: | ||
5784 | snprintf(evStr, EVENT_DESCR_STR_SZ, | ||
5785 | "SAS Device Status Change: Internal Task Abort : id=%d", id); | ||
5786 | break; | ||
5787 | case MPI_EVENT_SAS_DEV_STAT_RC_ABORT_TASK_SET_INTERNAL: | ||
5788 | snprintf(evStr, EVENT_DESCR_STR_SZ, | ||
5789 | "SAS Device Status Change: Internal Abort Task Set : id=%d", id); | ||
5790 | break; | ||
5791 | case MPI_EVENT_SAS_DEV_STAT_RC_CLEAR_TASK_SET_INTERNAL: | ||
5792 | snprintf(evStr, EVENT_DESCR_STR_SZ, | ||
5793 | "SAS Device Status Change: Internal Clear Task Set : id=%d", id); | ||
5794 | break; | ||
5795 | case MPI_EVENT_SAS_DEV_STAT_RC_QUERY_TASK_INTERNAL: | ||
5796 | snprintf(evStr, EVENT_DESCR_STR_SZ, | ||
5797 | "SAS Device Status Change: Internal Query Task : id=%d", id); | ||
5782 | break; | 5798 | break; |
5783 | default: | 5799 | default: |
5784 | snprintf(evStr, EVENT_DESCR_STR_SZ, | 5800 | snprintf(evStr, EVENT_DESCR_STR_SZ, |
@@ -6034,7 +6050,7 @@ ProcessEventNotification(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply | |||
6034 | * @ioc: Pointer to MPT_ADAPTER structure | 6050 | * @ioc: Pointer to MPT_ADAPTER structure |
6035 | * @log_info: U32 LogInfo reply word from the IOC | 6051 | * @log_info: U32 LogInfo reply word from the IOC |
6036 | * | 6052 | * |
6037 | * Refer to lsi/fc_log.h. | 6053 | * Refer to lsi/mpi_log_fc.h. |
6038 | */ | 6054 | */ |
6039 | static void | 6055 | static void |
6040 | mpt_fc_log_info(MPT_ADAPTER *ioc, u32 log_info) | 6056 | mpt_fc_log_info(MPT_ADAPTER *ioc, u32 log_info) |
@@ -6131,8 +6147,10 @@ mpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info) | |||
6131 | "Invalid SAS Address", /* 01h */ | 6147 | "Invalid SAS Address", /* 01h */ |
6132 | NULL, /* 02h */ | 6148 | NULL, /* 02h */ |
6133 | "Invalid Page", /* 03h */ | 6149 | "Invalid Page", /* 03h */ |
6134 | NULL, /* 04h */ | 6150 | "Diag Message Error", /* 04h */ |
6135 | "Task Terminated" /* 05h */ | 6151 | "Task Terminated", /* 05h */ |
6152 | "Enclosure Management", /* 06h */ | ||
6153 | "Target Mode" /* 07h */ | ||
6136 | }; | 6154 | }; |
6137 | static char *pl_code_str[] = { | 6155 | static char *pl_code_str[] = { |
6138 | NULL, /* 00h */ | 6156 | NULL, /* 00h */ |
@@ -6158,7 +6176,7 @@ mpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info) | |||
6158 | "IO Executed", /* 14h */ | 6176 | "IO Executed", /* 14h */ |
6159 | "Persistant Reservation Out Not Affiliation Owner", /* 15h */ | 6177 | "Persistant Reservation Out Not Affiliation Owner", /* 15h */ |
6160 | "Open Transmit DMA Abort", /* 16h */ | 6178 | "Open Transmit DMA Abort", /* 16h */ |
6161 | NULL, /* 17h */ | 6179 | "IO Device Missing Delay Retry", /* 17h */ |
6162 | NULL, /* 18h */ | 6180 | NULL, /* 18h */ |
6163 | NULL, /* 19h */ | 6181 | NULL, /* 19h */ |
6164 | NULL, /* 1Ah */ | 6182 | NULL, /* 1Ah */ |
@@ -6238,7 +6256,7 @@ static void | |||
6238 | mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf) | 6256 | mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf) |
6239 | { | 6257 | { |
6240 | u32 status = ioc_status & MPI_IOCSTATUS_MASK; | 6258 | u32 status = ioc_status & MPI_IOCSTATUS_MASK; |
6241 | char *desc = ""; | 6259 | char *desc = NULL; |
6242 | 6260 | ||
6243 | switch (status) { | 6261 | switch (status) { |
6244 | case MPI_IOCSTATUS_INVALID_FUNCTION: /* 0x0001 */ | 6262 | case MPI_IOCSTATUS_INVALID_FUNCTION: /* 0x0001 */ |
@@ -6348,7 +6366,7 @@ mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf) | |||
6348 | desc = "Others"; | 6366 | desc = "Others"; |
6349 | break; | 6367 | break; |
6350 | } | 6368 | } |
6351 | if (desc != "") | 6369 | if (desc != NULL) |
6352 | printk(MYIOC_s_INFO_FMT "IOCStatus(0x%04x): %s\n", ioc->name, status, desc); | 6370 | printk(MYIOC_s_INFO_FMT "IOCStatus(0x%04x): %s\n", ioc->name, status, desc); |
6353 | } | 6371 | } |
6354 | 6372 | ||