summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-10-31 09:02:22 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2014-10-31 09:02:22 -0700
commit0ecd530bc690f5e0360854be4e3312bdd3fe783c (patch)
treec12d66fe1382fa5c1d2492bd3175340bfc7ceb9a
parent2236fc12388f250f4eedbb91524712bd8f440756 (diff)
parentecc4cc1ac25b9b451c240ce2a03e0c461e9aef49 (diff)
Merge "Release 1.0.0.223 QCACLD WLAN Driver"
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c79
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/SERVICES/WMA/wma.c117
-rw-r--r--CORE/SERVICES/WMA/wma.h2
-rw-r--r--CORE/SME/src/csr/csrApiScan.c11
-rw-r--r--CORE/UTILS/FWLOG/dbglog_host.c14
-rw-r--r--tools/fwdebuglog/cld-diag-parser.c66
-rw-r--r--tools/fwdebuglog/cld-diag-parser.h2
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