diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2014-10-31 09:02:22 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-10-31 09:02:22 -0700 |
| commit | 0ecd530bc690f5e0360854be4e3312bdd3fe783c (patch) | |
| tree | c12d66fe1382fa5c1d2492bd3175340bfc7ceb9a | |
| parent | 2236fc12388f250f4eedbb91524712bd8f440756 (diff) | |
| parent | ecc4cc1ac25b9b451c240ce2a03e0c461e9aef49 (diff) | |
Merge "Release 1.0.0.223 QCACLD WLAN Driver"
| -rwxr-xr-x | CORE/HDD/src/wlan_hdd_main.c | 79 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 117 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.h | 2 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 11 | ||||
| -rw-r--r-- | CORE/UTILS/FWLOG/dbglog_host.c | 14 | ||||
| -rw-r--r-- | tools/fwdebuglog/cld-diag-parser.c | 66 | ||||
| -rw-r--r-- | tools/fwdebuglog/cld-diag-parser.h | 2 |
8 files changed, 178 insertions, 117 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c index 9f9875385c60..29720b170892 100755 --- a/CORE/HDD/src/wlan_hdd_main.c +++ b/CORE/HDD/src/wlan_hdd_main.c @@ -295,10 +295,6 @@ extern int hdd_ftm_stop(hdd_context_t *pHddCtx); #ifdef FEATURE_WLAN_AUTO_SHUTDOWN v_VOID_t wlan_hdd_auto_shutdown_cb(v_VOID_t); #endif -#ifdef WLAN_FEATURE_ROAM_OFFLOAD -static void wma_send_fastreassoc_cmd(int sessionId, tSirMacAddr bssId, - int channel); -#endif /* Store WLAN driver version info in a global variable such that crash debugger can extract it from driver debug symbol and crashdump for post processing */ @@ -3903,6 +3899,39 @@ static int wlan_hdd_get_link_status(hdd_adapter_t *pAdapter) return pAdapter->linkStatus; } +#ifdef WLAN_FEATURE_ROAM_OFFLOAD +static void hdd_wma_send_fastreassoc_cmd(int sessionId, tSirMacAddr bssid, + int channel) +{ + t_wma_roam_invoke_cmd *fastreassoc; + vos_msg_t msg = {0}; + + fastreassoc = vos_mem_malloc(sizeof(*fastreassoc)); + if (NULL == fastreassoc) { + hddLog(LOGE, FL("vos_mem_alloc failed for fastreassoc")); + return; + } + fastreassoc->vdev_id = sessionId; + fastreassoc->channel = channel; + fastreassoc->bssid[0] = bssid[0]; + fastreassoc->bssid[1] = bssid[1]; + fastreassoc->bssid[2] = bssid[2]; + fastreassoc->bssid[3] = bssid[3]; + fastreassoc->bssid[4] = bssid[4]; + fastreassoc->bssid[5] = bssid[5]; + + msg.type = SIR_HAL_ROAM_INVOKE; + msg.reserved = 0; + msg.bodyptr = fastreassoc; + if (VOS_STATUS_SUCCESS != vos_mq_post_message(VOS_MODULE_ID_WDA, + &msg)) { + vos_mem_free(fastreassoc); + VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, + FL("Not able to post ROAM_INVOKE_CMD message to WMA")); + } +} +#endif + static int hdd_driver_command(hdd_adapter_t *pAdapter, hdd_priv_data_t *ppriv_data) { @@ -5210,8 +5239,8 @@ static int hdd_driver_command(hdd_adapter_t *pAdapter, } #ifdef WLAN_FEATURE_ROAM_OFFLOAD if (pHddCtx->cfg_ini->isRoamOffloadEnabled) { - wma_send_fastreassoc_cmd(pAdapter->sessionId, targetApBssid, - channel); + hdd_wma_send_fastreassoc_cmd((int)pAdapter->sessionId, targetApBssid, + (int) channel); goto exit; } #endif @@ -6006,7 +6035,20 @@ static int hdd_driver_command(hdd_adapter_t *pAdapter, ret = hdd_set_tdls_offchannel(pHddCtx, set_value); } #endif - else { + else if (strncasecmp(command, "RSSI", 4) == 0) { + v_S7_t s7Rssi = 0; + char extra[32]; + tANI_U8 len = 0; + + wlan_hdd_get_rssi(pAdapter, &s7Rssi); + + len = scnprintf(extra, sizeof(extra), "%s %d", command, s7Rssi); + if (copy_to_user(priv_data.buf, &extra, len + 1)) { + hddLog(LOGE, FL("Failed to copy data to user buffer")); + ret = -EFAULT; + goto exit; + } + } else { MTRACE(vos_trace(VOS_MODULE_ID_HDD, TRACE_CODE_HDD_UNSUPPORTED_IOCTL, pAdapter->sessionId, 0)); @@ -14105,31 +14147,8 @@ void wlan_hdd_check_sta_ap_concurrent_ch_intf(void *data) #endif -#ifdef WLAN_FEATURE_ROAM_OFFLOAD -void wma_send_fastreassoc_cmd(int sessionId, tSirMacAddr bssId, int channel) -{ - t_wma_roam_invoke_cmd *fastReassoc; - vos_msg_t msg = {0}; - fastReassoc = vos_mem_malloc(sizeof(*fastReassoc)); - if (NULL == fastReassoc) { - hddLog(LOGE, FL("vos_mem_alloc failed for fastReassoc")); - } - fastReassoc->vdev_id = sessionId; - fastReassoc->channel = channel; - vos_mem_copy(fastReassoc->bssId, bssId, sizeof( tSirMacAddr )); - msg.type = SIR_HAL_ROAM_INVOKE; - msg.reserved = 0; - msg.bodyptr = fastReassoc; - if (VOS_STATUS_SUCCESS != vos_mq_post_message(VOS_MODULE_ID_WDA, - &msg)) { - vos_mem_free(fastReassoc); - VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, - FL("Not able to post ROAM_INVOKE_CMD message to WDA")); - } -} -#endif //Register the module init/exit functions module_init(hdd_module_init); module_exit(hdd_module_exit); diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h index a5538b562787..25f0fbdc8283 100644 --- a/CORE/MAC/inc/qwlan_version.h +++ b/CORE/MAC/inc/qwlan_version.h @@ -42,9 +42,9 @@ BRIEF DESCRIPTION: #define QWLAN_VERSION_MINOR 0 #define QWLAN_VERSION_PATCH 0 #define QWLAN_VERSION_EXTRA "" -#define QWLAN_VERSION_BUILD 222 +#define QWLAN_VERSION_BUILD 223 -#define QWLAN_VERSIONSTR "1.0.0.222" +#define QWLAN_VERSIONSTR "1.0.0.223" #define AR6320_REV1_VERSION 0x5000000 diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 0225c953e6bd..f82d3344e63f 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -337,8 +337,6 @@ void wma_process_roam_synch_complete(WMA_HANDLE handle, tSirSmeRoamOffloadSynchCnf *synchcnf); void wma_process_roam_synch_fail(WMA_HANDLE handle, tSirRoamOffloadSynchFail *synchfail); -void wma_process_roam_invoke(WMA_HANDLE handle, - t_wma_roam_invoke_cmd *roaminvoke); #endif /* Configure the regulatory domain for DFS radar filter initialization*/ void wma_set_dfs_regdomain(tp_wma_handle wma); @@ -22092,6 +22090,65 @@ VOS_STATUS wma_set_led_flashing(tp_wma_handle wma_handle, } #endif +#ifdef WLAN_FEATURE_ROAM_OFFLOAD +static void wma_process_roam_invoke(WMA_HANDLE handle, + t_wma_roam_invoke_cmd *roaminvoke) +{ + tp_wma_handle wma_handle = (tp_wma_handle) handle; + wmi_roam_invoke_cmd_fixed_param* cmd; + wmi_buf_t wmi_buf; + u_int8_t *buf_ptr; + u_int16_t len, args_tlv_len; + A_UINT32 *channel_list; + wmi_mac_addr *bssid_list; + + if (!wma_handle || !wma_handle->wmi_handle) { + WMA_LOGE("%s: WMA is closed, can not send roam invoke", + __func__); + return; + } + /* Host sends only one channel and one bssid */ + args_tlv_len = 2 * WMI_TLV_HDR_SIZE + sizeof(A_UINT32) + + sizeof(wmi_mac_addr); + len = sizeof(wmi_roam_invoke_cmd_fixed_param) + args_tlv_len; + wmi_buf = wmi_buf_alloc(wma_handle->wmi_handle, len); + if (!wmi_buf) { + WMA_LOGE("%s: wmai_buf_alloc failed", __func__); + return; + } + + cmd = (wmi_roam_invoke_cmd_fixed_param *)wmi_buf_data(wmi_buf); + buf_ptr = (u_int8_t *) cmd; + WMITLV_SET_HDR(&cmd->tlv_header, + WMITLV_TAG_STRUC_wmi_roam_invoke_cmd_fixed_param, + WMITLV_GET_STRUCT_TLVLEN(wmi_roam_invoke_cmd_fixed_param)); + cmd->vdev_id = roaminvoke->vdev_id; + cmd->flags = 0; + cmd->roam_scan_mode = 0; + cmd->roam_ap_sel_mode = 0; + cmd->roam_delay = 0; + cmd->num_chan = 1; + cmd->num_bssid = 1; + buf_ptr += sizeof(wmi_roam_invoke_cmd_fixed_param); + WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_UINT32, + (sizeof(u_int32_t))); + channel_list = (A_UINT32 *)(buf_ptr + WMI_TLV_HDR_SIZE); + *channel_list = (A_UINT32)vos_chan_to_freq(roaminvoke->channel); + buf_ptr += sizeof(A_UINT32) + WMI_TLV_HDR_SIZE; + WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_FIXED_STRUC, + (sizeof(wmi_mac_addr))); + bssid_list = (wmi_mac_addr *)(buf_ptr + WMI_TLV_HDR_SIZE); + WMI_CHAR_ARRAY_TO_MAC_ADDR(roaminvoke->bssid, bssid_list); + if (wmi_unified_cmd_send(wma_handle->wmi_handle, wmi_buf, len, + WMI_ROAM_INVOKE_CMDID)) { + WMA_LOGP("%s: failed to send roam invoke command", __func__); + adf_nbuf_free(wmi_buf); + return; + } + return; +} +#endif + /* * function : wma_mc_process_msg * Description : @@ -27448,60 +27505,4 @@ void wma_process_roam_synch_fail(WMA_HANDLE handle, VOS_FALSE; adf_os_spin_unlock_bh(&wma_handle->roam_synch_lock); } -void wma_process_roam_invoke(WMA_HANDLE handle, - t_wma_roam_invoke_cmd *roaminvoke) -{ - tp_wma_handle wma_handle = (tp_wma_handle) handle; - wmi_roam_invoke_cmd_fixed_param* cmd; - wmi_buf_t wmi_buf; - u_int8_t *buf_ptr; - u_int16_t len, args_tlv_len; - A_UINT32 *channel_list; - wmi_mac_addr *bssid_list; - - if (!wma_handle || !wma_handle->wmi_handle) { - WMA_LOGE("%s: WMA is closed, can not send roam invoke", - __func__); - return; - } - /* Host sends only one channel and one bssid */ - args_tlv_len = 2 * WMI_TLV_HDR_SIZE + sizeof(A_UINT32) + - sizeof(wmi_mac_addr); - len = sizeof(wmi_roam_invoke_cmd_fixed_param) + args_tlv_len; - wmi_buf = wmi_buf_alloc(wma_handle->wmi_handle, len); - if (!wmi_buf) { - WMA_LOGE("%s: wmai_buf_alloc failed", __func__); - return; - } - - cmd = (wmi_roam_invoke_cmd_fixed_param *)wmi_buf_data(wmi_buf); - buf_ptr = (u_int8_t *) cmd; - WMITLV_SET_HDR(&cmd->tlv_header, - WMITLV_TAG_STRUC_wmi_roam_invoke_cmd_fixed_param, - WMITLV_GET_STRUCT_TLVLEN(wmi_roam_invoke_cmd_fixed_param)); - cmd->vdev_id = roaminvoke->vdev_id; - cmd->flags = 0; - cmd->roam_scan_mode = 0; - cmd->roam_ap_sel_mode = 0; - cmd->roam_delay = 0; - cmd->num_chan = 1; - cmd->num_bssid = 1; - buf_ptr += sizeof(wmi_roam_invoke_cmd_fixed_param); - WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_UINT32, - (sizeof(u_int32_t))); - channel_list = (A_UINT32 *)(buf_ptr + WMI_TLV_HDR_SIZE); - *channel_list = (A_UINT32)roaminvoke->channel; - buf_ptr += sizeof(A_UINT32) + WMI_TLV_HDR_SIZE; - WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_FIXED_STRUC, - (sizeof(wmi_mac_addr))); - bssid_list = (wmi_mac_addr *)(buf_ptr + WMI_TLV_HDR_SIZE); - WMI_CHAR_ARRAY_TO_MAC_ADDR(roaminvoke->bssId, bssid_list); - if (wmi_unified_cmd_send(wma_handle->wmi_handle, wmi_buf, len, - WMI_ROAM_INVOKE_CMDID)) { - WMA_LOGP("%s: failed to send roam invoke command", __func__); - adf_nbuf_free(wmi_buf); - return; - } - return; -} #endif diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h index 5c3232aab9c0..1b3559cf63d2 100644 --- a/CORE/SERVICES/WMA/wma.h +++ b/CORE/SERVICES/WMA/wma.h @@ -1543,7 +1543,7 @@ typedef struct wma_unit_test_cmd typedef struct wma_roam_invoke_cmd { v_UINT_t vdev_id; - u_int8_t bssId[6]; + u_int8_t bssid[6]; v_U32_t channel; }t_wma_roam_invoke_cmd; #endif diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c index 76a976e1f453..7c7688d0c6d2 100644 --- a/CORE/SME/src/csr/csrApiScan.c +++ b/CORE/SME/src/csr/csrApiScan.c @@ -1722,6 +1722,12 @@ eHalStatus csrScanHandleSearchForSSIDFailure(tpAniSirGlobal pMac, tSmeCmd *pComm tANI_U32 sessionId = pCommand->sessionId; tCsrRoamProfile *pProfile = pCommand->u.scanCmd.pToRoamProfile; tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, sessionId ); + + if (!pSession) { + smsLog(pMac, LOGE, FL("Session %d not found"), sessionId); + return eHAL_STATUS_FAILURE; + } + #ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD /* If this scan is for LFR */ if (pMac->roam.neighborRoamInfo[sessionId].uOsRequestedHandoff) { @@ -1734,11 +1740,6 @@ eHalStatus csrScanHandleSearchForSSIDFailure(tpAniSirGlobal pMac, tSmeCmd *pComm return eHAL_STATUS_SUCCESS; } #endif - if(!pSession) - { - smsLog(pMac, LOGE, FL(" session %d not found "), sessionId); - return eHAL_STATUS_FAILURE; - } #if defined(WLAN_DEBUG) if(pCommand->u.scanCmd.u.scanRequest.SSIDs.numOfSSIDs == 1) diff --git a/CORE/UTILS/FWLOG/dbglog_host.c b/CORE/UTILS/FWLOG/dbglog_host.c index 240e8d826c7d..1e62a3d55689 100644 --- a/CORE/UTILS/FWLOG/dbglog_host.c +++ b/CORE/UTILS/FWLOG/dbglog_host.c @@ -38,6 +38,8 @@ #include <wlan_nlink_srv.h> #include "vos_diag_core_event.h" #include "qwlan_version.h" +#include <wlan_hdd_main.h> +#include <wlan_hdd_wext.h> #include <net/sock.h> #include <linux/netlink.h> @@ -4020,7 +4022,17 @@ int cnss_diag_msg_callback(struct sk_buff *skb) slot = (struct dbglog_slot *)msg; switch (slot->diag_type) { case DIAG_TYPE_CRASH_INJECT: - process_wma_set_command(0,(int)GEN_PARAM_CRASH_INJECT, 0, GEN_CMD); + if (slot->length == 2) { + AR_DEBUG_PRINTF(ATH_DEBUG_INFO, + ("%s : DIAG_TYPE_CRASH_INJECT: %d %d\n", __func__, + slot->payload[0], slot->payload[1])); + process_wma_set_command_twoargs(0, + (int)GEN_PARAM_CRASH_INJECT, + slot->payload[0], + slot->payload[1], GEN_CMD); + } + else + AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("crash_inject cmd error\n")); break; default: break; diff --git a/tools/fwdebuglog/cld-diag-parser.c b/tools/fwdebuglog/cld-diag-parser.c index 6a8a115991e0..d8b6d572d997 100644 --- a/tools/fwdebuglog/cld-diag-parser.c +++ b/tools/fwdebuglog/cld-diag-parser.c @@ -770,35 +770,45 @@ cnssdiag_register_kernel_logging(int sock_fd, struct nlmsghdr *nlh) } static int32_t -sendcnss_cmd(int sock_fd, int32_t cmd) +sendcnss_cmd(int sock_fd, int32_t cmd, int len, uint8_t *buf) { - struct dbglog_slot slot; + struct dbglog_slot *slot; struct sockaddr_nl src_addr, dest_addr; struct nlmsghdr *nlh = NULL; struct msghdr msg; struct iovec iov; - int32_t ret; + int32_t ret, slot_len = 0; + + slot_len = sizeof(struct dbglog_slot) + len; + char *slot_buf = NULL; + slot_buf = malloc(slot_len); + if (slot_buf == NULL) { + fprintf(stderr, "Cannot allocate slot memory \n"); + return -1; + } + slot = (struct dbglog_slot *)slot_buf; + memset(slot, 0 , sizeof(struct dbglog_slot)); + slot->diag_type = cmd; + slot->length = len; + memcpy(slot->payload, buf, len); - memset(&slot, 0 , sizeof(struct dbglog_slot)); - slot.diag_type = cmd; memset(&dest_addr, 0, sizeof(dest_addr)); dest_addr.nl_family = AF_NETLINK; dest_addr.nl_pid = 0; /* For Linux Kernel */ dest_addr.nl_groups = 0; /* unicast */ - nlh = malloc(NLMSG_SPACE(sizeof(struct dbglog_slot))); + nlh = malloc(NLMSG_SPACE(slot_len)); if (nlh == NULL) { fprintf(stderr, "Cannot allocate memory \n"); - close(sock_fd); return -1; } - memset(nlh, 0, NLMSG_SPACE(sizeof(struct dbglog_slot))); - nlh->nlmsg_len = NLMSG_SPACE(sizeof(struct dbglog_slot)); + memset(nlh, 0, NLMSG_SPACE(slot_len)); + nlh->nlmsg_len = NLMSG_SPACE(slot_len); nlh->nlmsg_pid = getpid(); nlh->nlmsg_type = WLAN_NL_MSG_CNSS_DIAG; nlh->nlmsg_flags = NLM_F_REQUEST; - memcpy(NLMSG_DATA(nlh), &slot, sizeof(struct dbglog_slot)); + memcpy(NLMSG_DATA(nlh), slot_buf, slot_len); iov.iov_base = (void *)nlh; iov.iov_len = nlh->nlmsg_len; @@ -836,6 +846,7 @@ void process_diaghost_msg(uint8_t *datap, uint16_t len) { uint8_t *payload; + len; event_report_t *pEvent_report =(event_report_t *)datap ; if (!pEvent_report) return; @@ -1071,7 +1082,8 @@ process_diagfw_msg(uint8_t *datap, uint16_t len, uint32_t optionflag, WLAN trigger command from QXDM 1) SSR - send_data 75 41 7 0 1 0 253 1 25 + send_data 75 41 7 0 1 0 253 len id val1 val 2 + id is subsystem id value 2) log level send_data 75 41 7 0 2 0 253 1 25 @@ -1088,12 +1100,13 @@ PACK(void *) cnss_wlan_handle(PACK(void *)req_pkt, uint16_t pkt_len) PACK(void *)rsp = NULL; uint8_t *pkt_ptr = (uint8_t *)req_pkt + 4; uint16_t p_len, p_opcode; - int32_t ret = 0; + int32_t ret = 0, i = 0; + char cmd[BUF_SIZ] = {0}; /* Allocate the same length as the request */ rsp = diagpkt_subsys_alloc( DIAG_SUBSYS_WLAN, CNSS_WLAN_DIAG, pkt_len); - if (rsp != NULL) + if (rsp != NULL && pkt_len > 3) { p_len = *(pkt_ptr+3); /* VS Command packet length */ p_opcode = (*(pkt_ptr+2) << 8) | *(pkt_ptr+1); @@ -1101,18 +1114,33 @@ PACK(void *) cnss_wlan_handle(PACK(void *)req_pkt, uint16_t pkt_len) "%s : p_len: %d, pkt_len -8: %d, p_opcode:%.04x cmd = %d\n", __func__, p_len, pkt_len -8, p_opcode, *pkt_ptr ); - if (p_len !=(pkt_len - 8) || ( p_opcode != 0xFD00)) + if (p_len !=(pkt_len - 8) || ( p_opcode != 0xFD00)) { + debug_printf("%s:Error in p_len or p_opcode ", __func__ ); return rsp; + } memcpy(rsp, req_pkt, pkt_len); - if (*pkt_ptr == CNSS_WLAN_SSR_TYPE) { - if ((ret = system(RESTART_LEVEL))){ + if (*pkt_ptr == CNSS_WLAN_SSR_TYPE && p_len > 1) { + /* get ID */ + i = *(pkt_ptr+4); + p_len--; + /* Restart for subsystem id */ + memset(cmd, 0x00, BUF_SIZ); + snprintf(cmd, sizeof(cmd), RESTART_LEVEL, i); + debug_printf("%s: cmd = %s\n", __func__, cmd); + if ((ret = system(cmd))){ if (ret < 0) { + debug_printf("%s: error with subsystem id\n", __func__); return rsp; } } - if (gdiag_sock_fd > 0) - sendcnss_cmd(gdiag_sock_fd, DIAG_TYPE_CRASH_INJECT); - } + if (gdiag_sock_fd > 0) { + sendcnss_cmd(gdiag_sock_fd, DIAG_TYPE_CRASH_INJECT, + p_len, (pkt_ptr + 5) + ); + debug_printf("%s: Success with crash inject \n", __func__); + } + } else + debug_printf("%s:Error in Command ", __func__ ); } else debug_printf("%s:Allocate response buffer error", __func__ ); diff --git a/tools/fwdebuglog/cld-diag-parser.h b/tools/fwdebuglog/cld-diag-parser.h index 9cb742a2c1be..3409ad4dc3d9 100644 --- a/tools/fwdebuglog/cld-diag-parser.h +++ b/tools/fwdebuglog/cld-diag-parser.h @@ -294,7 +294,7 @@ static inline unsigned int aniNlLen(unsigned int len) #define DIAG_WLAN_MODULE_IBSS_PWRSAVE 57332 #define RESTART_LEVEL \ - "echo related > /sys/bus/msm_subsys/devices/subsys4/restart_level" + "echo related > /sys/bus/msm_subsys/devices/subsys%d/restart_level" #define DB_FILE_PATH "/firmware/image/Data.msc" #define BUF_SIZ 256 |
