Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/mps/mps_user.c
Show First 20 Lines • Show All 1,214 Lines • ▼ Show 20 Lines | if (status) { | ||||
status = MPS_DIAG_FAILURE; | status = MPS_DIAG_FAILURE; | ||||
goto done; | goto done; | ||||
} | } | ||||
/* | /* | ||||
* Process POST reply. | * Process POST reply. | ||||
*/ | */ | ||||
reply = (MPI2_DIAG_BUFFER_POST_REPLY *)cm->cm_reply; | reply = (MPI2_DIAG_BUFFER_POST_REPLY *)cm->cm_reply; | ||||
if (reply->IOCStatus != MPI2_IOCSTATUS_SUCCESS) { | if ((le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK) != | ||||
MPI2_IOCSTATUS_SUCCESS) { | |||||
status = MPS_DIAG_FAILURE; | status = MPS_DIAG_FAILURE; | ||||
mps_dprint(sc, MPS_FAULT, "%s: post of FW Diag Buffer failed " | mps_dprint(sc, MPS_FAULT, "%s: post of FW Diag Buffer failed " | ||||
"with IOCStatus = 0x%x, IOCLogInfo = 0x%x and " | "with IOCStatus = 0x%x, IOCLogInfo = 0x%x and " | ||||
"TransferLength = 0x%x\n", __func__, reply->IOCStatus, | "TransferLength = 0x%x\n", __func__, | ||||
reply->IOCLogInfo, reply->TransferLength); | le16toh(reply->IOCStatus), le32toh(reply->IOCLogInfo), | ||||
le32toh(reply->TransferLength)); | |||||
goto done; | goto done; | ||||
} | } | ||||
/* | /* | ||||
* Post was successful. | * Post was successful. | ||||
*/ | */ | ||||
pBuffer->valid_data = TRUE; | pBuffer->valid_data = TRUE; | ||||
pBuffer->owned_by_firmware = TRUE; | pBuffer->owned_by_firmware = TRUE; | ||||
▲ Show 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | if (status) { | ||||
status = MPS_DIAG_FAILURE; | status = MPS_DIAG_FAILURE; | ||||
goto done; | goto done; | ||||
} | } | ||||
/* | /* | ||||
* Process RELEASE reply. | * Process RELEASE reply. | ||||
*/ | */ | ||||
reply = (MPI2_DIAG_RELEASE_REPLY *)cm->cm_reply; | reply = (MPI2_DIAG_RELEASE_REPLY *)cm->cm_reply; | ||||
if ((reply->IOCStatus != MPI2_IOCSTATUS_SUCCESS) || | if (((le16toh(reply->IOCStatus) & MPI2_IOCSTATUS_MASK) != | ||||
pBuffer->owned_by_firmware) { | MPI2_IOCSTATUS_SUCCESS) || pBuffer->owned_by_firmware) { | ||||
status = MPS_DIAG_FAILURE; | status = MPS_DIAG_FAILURE; | ||||
mps_dprint(sc, MPS_FAULT, "%s: release of FW Diag Buffer " | mps_dprint(sc, MPS_FAULT, "%s: release of FW Diag Buffer " | ||||
"failed with IOCStatus = 0x%x and IOCLogInfo = 0x%x\n", | "failed with IOCStatus = 0x%x and IOCLogInfo = 0x%x\n", | ||||
__func__, reply->IOCStatus, reply->IOCLogInfo); | __func__, le16toh(reply->IOCStatus), | ||||
le32toh(reply->IOCLogInfo)); | |||||
goto done; | goto done; | ||||
} | } | ||||
/* | /* | ||||
* Release was successful. | * Release was successful. | ||||
*/ | */ | ||||
*return_code = MPS_FW_DIAG_ERROR_SUCCESS; | *return_code = MPS_FW_DIAG_ERROR_SUCCESS; | ||||
status = MPS_DIAG_SUCCESS; | status = MPS_DIAG_SUCCESS; | ||||
▲ Show 20 Lines • Show All 1,097 Lines • Show Last 20 Lines |