/*----------------------------------------------------------------------------*/ static void *glResetCallback(ENUM_WMTDRV_TYPE_T eSrcType, ENUM_WMTDRV_TYPE_T eDstType, ENUM_WMTMSG_TYPE_T eMsgType, void *prMsgBody, unsigned int u4MsgLength) { switch (eMsgType) { case WMTMSG_TYPE_RESET: if (u4MsgLength == sizeof(ENUM_WMTRSTMSG_TYPE_T)) { P_ENUM_WMTRSTMSG_TYPE_T prRstMsg = (P_ENUM_WMTRSTMSG_TYPE_T) prMsgBody; switch (*prRstMsg) { case WMTRSTMSG_RESET_START: DBGLOG(INIT, WARN, ("Whole chip reset start!\n")); fgIsResetting = TRUE; wifi_reset_start(); break; case WMTRSTMSG_RESET_END: DBGLOG(INIT, WARN, ("Whole chip reset end!\n")); fgIsResetting = FALSE; wifi_rst.rst_data = RESET_SUCCESS; schedule_work(&(wifi_rst.rst_work)); break; case WMTRSTMSG_RESET_END_FAIL: DBGLOG(INIT, WARN, ("Whole chip reset fail!\n")); fgIsResetting = FALSE; wifi_rst.rst_data = RESET_FAIL; schedule_work(&(wifi_rst.rst_work)); break; default: break; } } break; default: break; } return NULL; }
/*----------------------------------------------------------------------------*/ static void * glResetCallback ( ENUM_WMTDRV_TYPE_T eSrcType, ENUM_WMTDRV_TYPE_T eDstType, ENUM_WMTMSG_TYPE_T eMsgType, void * prMsgBody, unsigned int u4MsgLength ) { switch (eMsgType) { case WMTMSG_TYPE_RESET: if (u4MsgLength == sizeof(ENUM_WMTRSTMSG_TYPE_T)) { P_ENUM_WMTRSTMSG_TYPE_T prRstMsg = (P_ENUM_WMTRSTMSG_TYPE_T) prMsgBody; switch (*prRstMsg) { case WMTRSTMSG_RESET_START: DBGLOG(INIT, WARN, ("Whole chip reset start!\n")); fgIsResetting = TRUE; //glResetSendMessage(MTK_WIFI_RESET_START_NAME, MTK_WIFI_COMMAND_RESET); wifi_reset_start(); break; case WMTRSTMSG_RESET_END: DBGLOG(INIT, WARN, ("Whole chip reset end!\n")); schedule_work(&work_rst); //glResetSendMessage(MTK_WIFI_RESET_END_NAME, MTK_WIFI_COMMAND_RESET); fgIsResetting = FALSE; break; default: break; } } break; default: break; } return NULL; }