qcacmn: Fix kernel check patch warnings in fwlog

Fix msm-4.4 kernel check patch warnings for fwlog module.

Change-Id: I84656de36b4b32d4e139021174ad8220cd6d845e
CRs-Fixed: 2041367
Этот коммит содержится в:
Ajit Vaishya
2017-10-05 21:06:31 +05:30
коммит произвёл Nandini Suresh
родитель 8dc86d6e54
Коммит 2636384f2c
2 изменённых файлов: 139 добавлений и 130 удалений

Просмотреть файл

@@ -872,7 +872,7 @@ char *DBG_MSG_ARR[WLAN_MODULE_ID_MAX][MAX_DBG_MSGS] = {
"RESOURCE_PEER_FREE", "RESOURCE_PEER_FREE",
"RESOURCE_PEER_ALLOC_WAL_PEER", "RESOURCE_PEER_ALLOC_WAL_PEER",
"RESOURCE_PEER_NBRHOOD_MGMT_ALLOC", "RESOURCE_PEER_NBRHOOD_MGMT_ALLOC",
"RESOURCE_PEER_NBRHOOD_MGMT_INFO," "RESOURCE_DBGID_DEFINITION_END", "RESOURCE_PEER_NBRHOOD_MGMT_INFO,RESOURCE_DBGID_DEFINITION_END",
}, },
{ /* DCS */ { /* DCS */
"WLAN_DCS_DBGID_INIT", "WLAN_DCS_DBGID_INIT",
@@ -1382,9 +1382,8 @@ static char *dbglog_get_msg(A_UINT32 moduleid, A_UINT32 debugid)
if (moduleid < WLAN_MODULE_ID_MAX && debugid < MAX_DBG_MSGS) { if (moduleid < WLAN_MODULE_ID_MAX && debugid < MAX_DBG_MSGS) {
char *str = DBG_MSG_ARR[moduleid][debugid]; char *str = DBG_MSG_ARR[moduleid][debugid];
if (str && str[0] != '\0') { if (str && str[0] != '\0')
return str; return str;
}
} }
snprintf(unknown_str, sizeof(unknown_str), snprintf(unknown_str, sizeof(unknown_str),
@@ -1498,12 +1497,15 @@ static int dbglog_print_raw_data(A_UINT32 *buffer, A_UINT32 length)
totalWriteLen = 0; totalWriteLen = 0;
for (curArgs = 0; curArgs < numargs; curArgs++) { for (curArgs = 0; curArgs < numargs; curArgs++) {
/* Using sprintf_s instead of sprintf, to avoid length overflow */ /*
* Using sprintf_s instead of sprintf,
* to avoid length overflow
*/
writeLen = writeLen =
snprintf(parseArgsString + totalWriteLen, snprintf(parseArgsString + totalWriteLen,
DBGLOG_PARSE_ARGS_STRING_LENGTH - DBGLOG_PARSE_ARGS_STRING_LENGTH -
totalWriteLen, "%x ", totalWriteLen, "%x ",
buffer[count + 2 + curArgs]); buffer[count + 2 + curArgs]);
totalWriteLen += writeLen; totalWriteLen += writeLen;
} }
@@ -1542,7 +1544,8 @@ static int dbglog_print_raw_data(A_UINT32 *buffer, A_UINT32 length)
} }
} }
count += numargs + 2; /* 32 bit Time stamp + 32 bit Dbg header */ /* 32 bit Time stamp + 32 bit Dbg header */
count += numargs + 2;
} }
return 0; return 0;
@@ -1666,7 +1669,7 @@ static int send_fw_diag_nl_data(const uint8_t *buffer, A_UINT32 len,
if ((res < 0) && (res != -ESRCH)) { if ((res < 0) && (res != -ESRCH)) {
AR_DEBUG_PRINTF(ATH_DEBUG_RSVD1, AR_DEBUG_PRINTF(ATH_DEBUG_RSVD1,
("%s: nl_srv_bcast_fw_logs failed 0x%x\n", ("%s: nl_srv_bcast_fw_logs failed 0x%x\n",
__func__, res)); __func__, res));
return res; return res;
} }
} }
@@ -1742,7 +1745,7 @@ send_diag_netlink_data(const uint8_t *buffer, A_UINT32 len, A_UINT32 cmd)
if (!skb_out) { if (!skb_out) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Failed to allocate new skb\n")); ("Failed to allocate new skb\n"));
return -ENOMEM; return A_ERROR;
} }
nlh = nlmsg_put(skb_out, 0, 0, WLAN_NL_MSG_CNSS_DIAG, nlh = nlmsg_put(skb_out, 0, 0, WLAN_NL_MSG_CNSS_DIAG,
@@ -1766,7 +1769,7 @@ send_diag_netlink_data(const uint8_t *buffer, A_UINT32 len, A_UINT32 cmd)
if ((res < 0) && (res != -ESRCH)) { if ((res < 0) && (res != -ESRCH)) {
AR_DEBUG_PRINTF(ATH_DEBUG_RSVD1, AR_DEBUG_PRINTF(ATH_DEBUG_RSVD1,
("%s: nl_srv_bcast_fw_logs failed 0x%x\n", ("%s: nl_srv_bcast_fw_logs failed 0x%x\n",
__func__, res)); __func__, res));
return res; return res;
} }
} }
@@ -1803,7 +1806,7 @@ dbglog_process_netlink_data(wmi_unified_t wmi_handle, const uint8_t *buffer,
if (!skb_out) { if (!skb_out) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Failed to allocate new skb\n")); ("Failed to allocate new skb\n"));
return -ENOMEM; return A_ERROR;
} }
nlh = nlmsg_put(skb_out, 0, 0, WLAN_NL_MSG_CNSS_DIAG, nlh = nlmsg_put(skb_out, 0, 0, WLAN_NL_MSG_CNSS_DIAG,
@@ -1826,7 +1829,7 @@ dbglog_process_netlink_data(wmi_unified_t wmi_handle, const uint8_t *buffer,
if ((res < 0) && (res != -ESRCH)) { if ((res < 0) && (res != -ESRCH)) {
AR_DEBUG_PRINTF(ATH_DEBUG_RSVD1, AR_DEBUG_PRINTF(ATH_DEBUG_RSVD1,
("%s: nl_srv_bcast_fw_logs failed 0x%x\n", ("%s: nl_srv_bcast_fw_logs failed 0x%x\n",
__func__, res)); __func__, res));
return res; return res;
} }
} }
@@ -1851,7 +1854,7 @@ static int diag_fw_handler(ol_scn_t scn, uint8_t *data, uint32_t datalen)
if (!wma) { if (!wma) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NULL Pointer assigned\n")); AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NULL Pointer assigned\n"));
return -EINVAL; return A_ERROR;
} }
/* when fw asser occurs,host can't use TLV format. */ /* when fw asser occurs,host can't use TLV format. */
if (wma->is_fw_assert) { if (wma->is_fw_assert) {
@@ -1863,7 +1866,7 @@ static int diag_fw_handler(ol_scn_t scn, uint8_t *data, uint32_t datalen)
if (!param_buf) { if (!param_buf) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Get NULL point message from FW\n")); ("Get NULL point message from FW\n"));
return -EINVAL; return A_ERROR;
} }
param_buf = (wmitlv_cmd_param_info *) data; param_buf = (wmitlv_cmd_param_info *) data;
@@ -1884,8 +1887,8 @@ static int diag_fw_handler(ol_scn_t scn, uint8_t *data, uint32_t datalen)
} }
if (dbglog_process_type == DBGLOG_PROCESS_PRINT_RAW) { if (dbglog_process_type == DBGLOG_PROCESS_PRINT_RAW) {
if (!gprint_limiter) { if (!gprint_limiter) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NOT Supported" AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
" only supports net link socket\n")); ("NOT Supported only supports net link socket\n"));
gprint_limiter = true; gprint_limiter = true;
} }
return 0; return 0;
@@ -1898,16 +1901,16 @@ static int diag_fw_handler(ol_scn_t scn, uint8_t *data, uint32_t datalen)
#ifdef WLAN_OPEN_SOURCE #ifdef WLAN_OPEN_SOURCE
if (dbglog_process_type == DBGLOG_PROCESS_POOL_RAW) { if (dbglog_process_type == DBGLOG_PROCESS_POOL_RAW) {
if (!gprint_limiter) { if (!gprint_limiter) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NOT Supported" AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
" only supports net link socket\n")); ("NOT Supported only supports net link socket\n"));
gprint_limiter = true; gprint_limiter = true;
} }
return 0; return 0;
} }
#endif /* WLAN_OPEN_SOURCE */ #endif /* WLAN_OPEN_SOURCE */
if (!gprint_limiter) { if (!gprint_limiter) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NOT Supported" AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
" only supports net link socket\n")); ("NOT Supported only supports net link socket\n"));
gprint_limiter = true; gprint_limiter = true;
} }
/* Always returns zero */ /* Always returns zero */
@@ -1930,7 +1933,7 @@ fw_diag_data_event_handler(ol_scn_t scn, uint8_t *data, uint32_t datalen)
if (!param_buf) { if (!param_buf) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Got NULL point message from FW\n")); ("Got NULL point message from FW\n"));
return -EINVAL; return A_ERROR;
} }
num_data = param_buf->num_bufp; num_data = param_buf->num_bufp;
@@ -1958,7 +1961,7 @@ int dbglog_parse_debug_logs(ol_scn_t scn, uint8_t *data, uint32_t datalen)
if (!wma) { if (!wma) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NULL Pointer assigned\n")); AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("NULL Pointer assigned\n"));
return -EINVAL; return A_ERROR;
} }
/*when fw asser occurs,host can't use TLV format. */ /*when fw asser occurs,host can't use TLV format. */
if (wma->is_fw_assert) { if (wma->is_fw_assert) {
@@ -1970,7 +1973,7 @@ int dbglog_parse_debug_logs(ol_scn_t scn, uint8_t *data, uint32_t datalen)
if (!param_buf) { if (!param_buf) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("Get NULL point message from FW\n")); ("Get NULL point message from FW\n"));
return -EINVAL; return A_ERROR;
} }
datap = param_buf->bufp; datap = param_buf->bufp;
@@ -1980,7 +1983,7 @@ int dbglog_parse_debug_logs(ol_scn_t scn, uint8_t *data, uint32_t datalen)
dropped = *((A_UINT32 *) datap); dropped = *((A_UINT32 *) datap);
if (dropped > 0) { if (dropped > 0) {
AR_DEBUG_PRINTF(ATH_DEBUG_TRC, AR_DEBUG_PRINTF(ATH_DEBUG_TRC,
("%d log buffers are dropped \n", dropped)); ("%d log buffers are dropped\n", dropped));
} }
datap += sizeof(dropped); datap += sizeof(dropped);
len -= sizeof(dropped); len -= sizeof(dropped);
@@ -1989,9 +1992,8 @@ int dbglog_parse_debug_logs(ol_scn_t scn, uint8_t *data, uint32_t datalen)
buffer = (A_UINT32 *) datap; buffer = (A_UINT32 *) datap;
length = (len >> 2); length = (len >> 2);
if (dbglog_process_type == DBGLOG_PROCESS_PRINT_RAW) { if (dbglog_process_type == DBGLOG_PROCESS_PRINT_RAW)
return dbglog_print_raw_data(buffer, length); return dbglog_print_raw_data(buffer, length);
}
if (dbglog_process_type == DBGLOG_PROCESS_NET_RAW) { if (dbglog_process_type == DBGLOG_PROCESS_NET_RAW) {
return dbglog_process_netlink_data((wmi_unified_t) wma-> return dbglog_process_netlink_data((wmi_unified_t) wma->
@@ -2015,23 +2017,29 @@ int dbglog_parse_debug_logs(ol_scn_t scn, uint8_t *data, uint32_t datalen)
numargs = DBGLOG_GET_NUMARGS(buffer[count + 1]); numargs = DBGLOG_GET_NUMARGS(buffer[count + 1]);
if ((count + 2 + numargs) > length) if ((count + 2 + numargs) > length)
return 0; return A_OK;
if (moduleid >= WLAN_MODULE_ID_MAX) if (moduleid >= WLAN_MODULE_ID_MAX)
return 0; return A_OK;
if (mod_print[moduleid] == NULL) { if (mod_print[moduleid] == NULL) {
/* No module specific log registered use the default handler */ /*
* No module specific log registered
* use the default handler
*/
dbglog_default_print_handler(moduleid, vapid, debugid, dbglog_default_print_handler(moduleid, vapid, debugid,
timestamp, numargs, timestamp, numargs,
(((A_UINT32 *) buffer) + (((A_UINT32 *) buffer) +
2 + count)); 2 + count));
} else { } else {
if (! if (!(mod_print[moduleid](moduleid, vapid, debugid,
(mod_print[moduleid] timestamp, numargs,
(moduleid, vapid, debugid, timestamp, numargs, (((A_UINT32 *) buffer) +
(((A_UINT32 *) buffer) + 2 + count)))) { 2 + count)))) {
/* The message is not handled by the module specific handler */ /*
* The message is not handled
* by the module specific handler
*/
dbglog_default_print_handler(moduleid, vapid, dbglog_default_print_handler(moduleid, vapid,
debugid, timestamp, debugid, timestamp,
numargs, numargs,
@@ -2042,10 +2050,11 @@ int dbglog_parse_debug_logs(ol_scn_t scn, uint8_t *data, uint32_t datalen)
} }
} }
count += numargs + 2; /* 32 bit Time stamp + 32 bit Dbg header */ /* 32 bit Time stamp + 32 bit Dbg header */
count += numargs + 2;
} }
/* Always returns zero */ /* Always returns zero */
return 0; return A_OK;
} }
void dbglog_reg_modprint(A_UINT32 mod_id, module_dbg_print printfn) void dbglog_reg_modprint(A_UINT32 mod_id, module_dbg_print printfn)
@@ -2065,15 +2074,14 @@ dbglog_sm_print(A_UINT32 timestamp,
A_UINT16 numargs, A_UINT16 numargs,
A_UINT32 *args, A_UINT32 *args,
const char *module_prefix, const char *module_prefix,
const char *states[], A_UINT32 num_states, const char *const states[], A_UINT32 num_states,
const char *events[], A_UINT32 num_events) const char *const events[], A_UINT32 num_events)
{ {
A_UINT8 type, arg1, arg2, arg3; A_UINT8 type, arg1, arg2, arg3;
A_UINT32 extra, extra2, extra3; A_UINT32 extra, extra2, extra3;
if (numargs != 4) { if (numargs != 4)
return; return;
}
type = (args[0] >> 24) & 0xff; type = (args[0] >> 24) & 0xff;
arg1 = (args[0] >> 16) & 0xff; arg1 = (args[0] >> 16) & 0xff;
@@ -2142,7 +2150,7 @@ dbglog_sta_powersave_print_handler(A_UINT32 mod_id,
A_UINT32 timestamp, A_UINT32 timestamp,
A_UINT16 numargs, A_UINT32 *args) A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"IDLE", "IDLE",
"ACTIVE", "ACTIVE",
"SLEEP_TXQ_FLUSH", "SLEEP_TXQ_FLUSH",
@@ -2158,7 +2166,7 @@ dbglog_sta_powersave_print_handler(A_UINT32 mod_id,
"IDLE_TX_SENT", "IDLE_TX_SENT",
}; };
static const char *events[] = { static const char *const events[] = {
"START", "START",
"STOP", "STOP",
"PAUSE", "PAUSE",
@@ -2341,7 +2349,7 @@ dbglog_ibss_powersave_print_handler(A_UINT32 mod_id,
A_UINT32 timestamp, A_UINT32 timestamp,
A_UINT16 numargs, A_UINT32 *args) A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *nw_states[] = { static const char *const nw_states[] = {
"WAIT_FOR_TBTT", "WAIT_FOR_TBTT",
"ATIM_WINDOW_PRE_BCN", "ATIM_WINDOW_PRE_BCN",
"ATIM_WINDOW_POST_BCN", "ATIM_WINDOW_POST_BCN",
@@ -2350,7 +2358,7 @@ dbglog_ibss_powersave_print_handler(A_UINT32 mod_id,
"PAUSED", "PAUSED",
}; };
static const char *ps_states[] = { static const char *const ps_states[] = {
"ACTIVE", "ACTIVE",
"SLEEP_TX_SEND", "SLEEP_TX_SEND",
"SLEEP_DOZE_PAUSE_PENDING", "SLEEP_DOZE_PAUSE_PENDING",
@@ -2361,14 +2369,14 @@ dbglog_ibss_powersave_print_handler(A_UINT32 mod_id,
"PAUSED", "PAUSED",
}; };
static const char *peer_ps_states[] = { static const char *const peer_ps_states[] = {
"ACTIVE", "ACTIVE",
"SLEEP_AWAKE", "SLEEP_AWAKE",
"SLEEP_DOZE", "SLEEP_DOZE",
"PS_UNKNOWN", "PS_UNKNOWN",
}; };
static const char *events[] = { static const char *const events[] = {
"START", "START",
"STOP", "STOP",
"SWBA", "SWBA",
@@ -3005,7 +3013,7 @@ dbglog_wal_print_handler(A_UINT32 mod_id,
A_UINT32 dbg_id, A_UINT32 dbg_id,
A_UINT32 timestamp, A_UINT16 numargs, A_UINT32 *args) A_UINT32 timestamp, A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"ACTIVE", "ACTIVE",
"WAIT", "WAIT",
"WAIT_FILTER", "WAIT_FILTER",
@@ -3014,7 +3022,7 @@ dbglog_wal_print_handler(A_UINT32 mod_id,
"BLOCK", "BLOCK",
}; };
static const char *events[] = { static const char *const events[] = {
"PAUSE", "PAUSE",
"PAUSE_FILTER", "PAUSE_FILTER",
"UNPAUSE", "UNPAUSE",
@@ -3121,8 +3129,8 @@ dbglog_wal_print_handler(A_UINT32 mod_id,
"WAL Tx enqueue discard msdu_id=0x%x", args[0]); "WAL Tx enqueue discard msdu_id=0x%x", args[0]);
break; break;
case WAL_DBGID_SET_HW_CHAINMASK: case WAL_DBGID_SET_HW_CHAINMASK:
dbglog_printf(timestamp, vap_id, "WAL_DBGID_SET_HW_CHAINMASK " dbglog_printf(timestamp, vap_id,
"pdev=%d, txchain=0x%x, rxchain=0x%x", "WAL_DBGID_SET_HW_CHAINMASK pdev=%d, txchain=0x%x, rxchain=0x%x",
args[0], args[1], args[2]); args[0], args[1], args[2]);
break; break;
case WAL_DBGID_SET_HW_CHAINMASK_TXRX_STOP_FAIL: case WAL_DBGID_SET_HW_CHAINMASK_TXRX_STOP_FAIL:
@@ -3160,7 +3168,7 @@ dbglog_scan_print_handler(A_UINT32 mod_id,
A_UINT32 dbg_id, A_UINT32 dbg_id,
A_UINT32 timestamp, A_UINT16 numargs, A_UINT32 *args) A_UINT32 timestamp, A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"IDLE", "IDLE",
"BSSCHAN", "BSSCHAN",
"WAIT_FOREIGN_CHAN", "WAIT_FOREIGN_CHAN",
@@ -3168,7 +3176,7 @@ dbglog_scan_print_handler(A_UINT32 mod_id,
"TERMINATING" "TERMINATING"
}; };
static const char *events[] = { static const char *const events[] = {
"REQ", "REQ",
"STOP", "STOP",
"BSSCHAN", "BSSCHAN",
@@ -3202,14 +3210,14 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
A_UINT8 i; A_UINT8 i;
char *dbg_id_str; char *dbg_id_str;
static const char *wlan_rx_xput_status[] = { static const char *const wlan_rx_xput_status[] = {
"WLAN_XPUT_NORMAL", "WLAN_XPUT_NORMAL",
"WLAN_XPUT_UNDER_THRESH", "WLAN_XPUT_UNDER_THRESH",
"WLAN_XPUT_CRITICAL", "WLAN_XPUT_CRITICAL",
"WLAN_XPUT_RECOVERY_TIMEOUT", "WLAN_XPUT_RECOVERY_TIMEOUT",
}; };
static const char *coex_sched_req[] = { static const char *const coex_sched_req[] = {
"SCHED_REQ_NEXT", "SCHED_REQ_NEXT",
"SCHED_REQ_BT", "SCHED_REQ_BT",
"SCHED_REQ_WLAN", "SCHED_REQ_WLAN",
@@ -3217,7 +3225,7 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"SCHED_REQ_UNPAUSE", "SCHED_REQ_UNPAUSE",
}; };
static const char *coex_sched_type[] = { static const char *const coex_sched_type[] = {
"SCHED_NONE", "SCHED_NONE",
"SCHED_WLAN", "SCHED_WLAN",
"SCHED_BT", "SCHED_BT",
@@ -3227,7 +3235,7 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"COEX_SCHED_MWS", "COEX_SCHED_MWS",
}; };
static const char *coex_trf_mgmt_type[] = { static const char *const coex_trf_mgmt_type[] = {
"TRF_MGMT_FREERUN", "TRF_MGMT_FREERUN",
"TRF_MGMT_SHAPE_PM", "TRF_MGMT_SHAPE_PM",
"TRF_MGMT_SHAPE_PSP", "TRF_MGMT_SHAPE_PSP",
@@ -3239,7 +3247,7 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"TRF_MGMT_NONE", "TRF_MGMT_NONE",
}; };
static const char *coex_system_status[] = { static const char *const coex_system_status[] = {
"ALL_OFF", "ALL_OFF",
"BTCOEX_NOT_REQD", "BTCOEX_NOT_REQD",
"WLAN_IS_IDLE", "WLAN_IS_IDLE",
@@ -3251,14 +3259,14 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"SOC_WAKE", "SOC_WAKE",
}; };
static const char *wlan_rssi_type[] = { static const char *const wlan_rssi_type[] = {
"LOW_RSSI", "LOW_RSSI",
"MID_RSSI", "MID_RSSI",
"HI_RSSI", "HI_RSSI",
"INVALID_RSSI", "INVALID_RSSI",
}; };
static const char *coex_bt_scheme[] = { static const char *const coex_bt_scheme[] = {
"IDLE_CTRL", "IDLE_CTRL",
"ACTIVE_ASYNC_CTRL", "ACTIVE_ASYNC_CTRL",
"PASSIVE_SYNC_CTRL", "PASSIVE_SYNC_CTRL",
@@ -3267,13 +3275,13 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"CONCURRENCY_CTRL", "CONCURRENCY_CTRL",
}; };
static const char *wal_peer_rx_rate_stats_event_sent[] = { static const char *const wal_peer_rx_rate_stats_event_sent[] = {
"PR_RX_EVT_SENT_NONE", "PR_RX_EVT_SENT_NONE",
"PR_RX_EVT_SENT_LOWER", "PR_RX_EVT_SENT_LOWER",
"PR_RX_EVT_SENT_UPPER", "PR_RX_EVT_SENT_UPPER",
}; };
static const char *wlan_psp_stimulus[] = { static const char *const wlan_psp_stimulus[] = {
"ENTRY", "ENTRY",
"EXIT", "EXIT",
"PS_READY", "PS_READY",
@@ -3299,7 +3307,7 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"RX_NO_MORE_DATA_DATAFRM", "RX_NO_MORE_DATA_DATAFRM",
}; };
static const char *coex_pspoll_state[] = { static const char *const coex_pspoll_state[] = {
"STATE_DISABLED", "STATE_DISABLED",
"STATE_NOT_READY", "STATE_NOT_READY",
"STATE_ENABLED", "STATE_ENABLED",
@@ -3308,12 +3316,12 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"STATE_RX_STATUS", "STATE_RX_STATUS",
}; };
static const char *coex_scheduler_interval[] = { static const char *const coex_scheduler_interval[] = {
"COEX_SCHED_NONWLAN_INT", "COEX_SCHED_NONWLAN_INT",
"COEX_SCHED_WLAN_INT", "COEX_SCHED_WLAN_INT",
}; };
static const char *wlan_weight[] = { static const char *const wlan_weight[] = {
"BT_COEX_BASE", "BT_COEX_BASE",
"BT_COEX_LOW", "BT_COEX_LOW",
"BT_COEX_MID", "BT_COEX_MID",
@@ -3323,13 +3331,13 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"BT_COEX_CRITICAL", "BT_COEX_CRITICAL",
}; };
static const char *wlan_power_state[] = { static const char *const wlan_power_state[] = {
"SLEEP", "SLEEP",
"AWAKE", "AWAKE",
"FULL_SLEEP", "FULL_SLEEP",
}; };
static const char *coex_psp_error_type[] = { static const char *const coex_psp_error_type[] = {
"DISABLED_STATE", "DISABLED_STATE",
"VDEV_NULL", "VDEV_NULL",
"COEX_PSP_ENTRY", "COEX_PSP_ENTRY",
@@ -3341,7 +3349,7 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"SET_TIMER_PARAM", "SET_TIMER_PARAM",
}; };
static const char *wlan_phymode[] = { static const char *const wlan_phymode[] = {
"A", "A",
"G", "G",
"B", "B",
@@ -3359,7 +3367,7 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
"UNKNOWN", "UNKNOWN",
}; };
static const char *wlan_curr_band[] = { static const char *const wlan_curr_band[] = {
"2G", "2G",
"5G", "5G",
}; };
@@ -3519,7 +3527,8 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
} }
break; break;
case COEX_PSP_MGR_ENTER: case COEX_PSP_MGR_ENTER:
if (numargs >= 5 && args[0] < 23 && args[1] < 6 && args[3] < 2) { if (numargs >= 5 && args[0] < 23 &&
args[1] < 6 && args[3] < 2) {
dbglog_printf(timestamp, vap_id, dbglog_printf(timestamp, vap_id,
"%s: %s, %s, PsPollAvg(%u), %s, CurrT(%u)", "%s: %s, %s, PsPollAvg(%u), %s, CurrT(%u)",
dbg_id_str, wlan_psp_stimulus[args[0]], dbg_id_str, wlan_psp_stimulus[args[0]],
@@ -3551,9 +3560,8 @@ A_BOOL dbglog_coex_print_handler(A_UINT32 mod_id,
if (numargs > 0) { if (numargs > 0) {
dbglog_printf_no_line_break(timestamp, vap_id, "%s: %u", dbglog_printf_no_line_break(timestamp, vap_id, "%s: %u",
dbg_id_str, args[0]); dbg_id_str, args[0]);
for (i = 1; i < numargs; i++) { for (i = 1; i < numargs; i++)
printk(", %u", args[i]); printk("%u", args[i]);
}
printk("\n"); printk("\n");
} else { } else {
return false; return false;
@@ -3693,14 +3701,14 @@ dbglog_beacon_print_handler(A_UINT32 mod_id,
A_UINT32 timestamp, A_UINT32 timestamp,
A_UINT16 numargs, A_UINT32 *args) A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"INIT", "INIT",
"ADJUST_START", "ADJUST_START",
"ADJUSTING", "ADJUSTING",
"ADJUST_HOLD", "ADJUST_HOLD",
}; };
static const char *events[] = { static const char *const events[] = {
"ADJUST_START", "ADJUST_START",
"ADJUST_RESTART", "ADJUST_RESTART",
"ADJUST_STOP", "ADJUST_STOP",
@@ -3796,7 +3804,7 @@ A_BOOL dbglog_smps_print_handler(A_UINT32 mod_id,
A_UINT32 timestamp, A_UINT32 timestamp,
A_UINT16 numargs, A_UINT32 *args) A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"S_INACTIVE", "S_INACTIVE",
"S_STATIC", "S_STATIC",
"S_DYNAMIC", "S_DYNAMIC",
@@ -3806,7 +3814,7 @@ A_BOOL dbglog_smps_print_handler(A_UINT32 mod_id,
"S_DYNAMIC_WAIT", "S_DYNAMIC_WAIT",
}; };
static const char *events[] = { static const char *const events[] = {
"E_STOP", "E_STOP",
"E_STOP_COMPL", "E_STOP_COMPL",
"E_START", "E_START",
@@ -3867,8 +3875,7 @@ A_BOOL dbglog_smps_print_handler(A_UINT32 mod_id,
break; break;
case STA_SMPS_DBGID_DTIM_CHMASK_UPDATE: case STA_SMPS_DBGID_DTIM_CHMASK_UPDATE:
dbglog_printf(timestamp, vap_id, dbglog_printf(timestamp, vap_id,
"STA_SMPS_DBGID_DTIM_CHMASK_UPDATE " "STA_SMPS_DBGID_DTIM_CHMASK_UPDATE tx_mask %#x rx_mask %#x arb_dtim_mask %#x",
"tx_mask %#x rx_mask %#x arb_dtim_mask %#x",
args[0], args[1], args[2]); args[0], args[1], args[2]);
break; break;
case STA_SMPS_DBGID_DTIM_BEACON_EVENT_CHMASK_UPDATE: case STA_SMPS_DBGID_DTIM_BEACON_EVENT_CHMASK_UPDATE:
@@ -3893,15 +3900,13 @@ A_BOOL dbglog_smps_print_handler(A_UINT32 mod_id,
break; break;
case STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_SLEEP: case STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_SLEEP:
dbglog_printf(timestamp, vap_id, dbglog_printf(timestamp, vap_id,
"STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_SLEEP " "STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_SLEEP tx_mask %#x rx_mask %#x orig_rx %#x dtim_rx %#x",
"tx_mask %#x rx_mask %#x orig_rx %#x dtim_rx %#x",
args[0], args[1], args[2], args[3]); args[0], args[1], args[2], args[3]);
break; break;
case STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_AWAKE: case STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_AWAKE:
dbglog_printf(timestamp, vap_id, dbglog_printf(timestamp, vap_id,
"STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_AWAKE " "STA_SMPS_DBGID_DTIM_CHMASK_UPDATE_AWAKE tx_mask %#x rx_mask %#x orig_rx %#x",
"tx_mask %#x rx_mask %#x orig_rx %#x", args[0], args[0], args[1], args[2]);
args[1], args[2]);
break; break;
default: default:
dbglog_printf(timestamp, vap_id, "STA_SMPS: UNKNOWN DBGID!"); dbglog_printf(timestamp, vap_id, "STA_SMPS: UNKNOWN DBGID!");
@@ -3917,7 +3922,7 @@ dbglog_p2p_print_handler(A_UINT32 mod_id,
A_UINT32 dbg_id, A_UINT32 dbg_id,
A_UINT32 timestamp, A_UINT16 numargs, A_UINT32 *args) A_UINT32 timestamp, A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"ACTIVE", "ACTIVE",
"DOZE", "DOZE",
"TX_BCN", "TX_BCN",
@@ -3925,7 +3930,7 @@ dbglog_p2p_print_handler(A_UINT32 mod_id,
"OPPPS", "OPPPS",
}; };
static const char *events[] = { static const char *const events[] = {
"ONESHOT_NOA", "ONESHOT_NOA",
"CTWINDOW", "CTWINDOW",
"PERIODIC_NOA", "PERIODIC_NOA",
@@ -3957,7 +3962,7 @@ dbglog_pcielp_print_handler(A_UINT32 mod_id,
A_UINT32 timestamp, A_UINT32 timestamp,
A_UINT16 numargs, A_UINT32 *args) A_UINT16 numargs, A_UINT32 *args)
{ {
static const char *states[] = { static const char *const states[] = {
"STOP", "STOP",
"TX", "TX",
"RX", "RX",
@@ -3965,7 +3970,7 @@ dbglog_pcielp_print_handler(A_UINT32 mod_id,
"SUSPEND", "SUSPEND",
}; };
static const char *events[] = { static const char *const events[] = {
"VDEV_UP", "VDEV_UP",
"ALL_VDEV_DOWN", "ALL_VDEV_DOWN",
"AWAKE", "AWAKE",
@@ -4037,7 +4042,7 @@ static ssize_t dbglog_block_read(struct file *file,
spin_unlock_bh(&fwlog->fwlog_queue.lock); spin_unlock_bh(&fwlog->fwlog_queue.lock);
ret = ret =
wait_for_completion_interruptible(&fwlog->fwlog_completion); wait_for_completion_interruptible(&fwlog->fwlog_completion);
if (ret == -ERESTARTSYS) { if (ret == -ERESTARTSYS) {
vfree(buf); vfree(buf);
return ret; return ret;
@@ -4097,7 +4102,7 @@ static void dbglog_debugfs_init(wmi_unified_t wmi_handle)
return; return;
} }
debugfs_create_file(DEBUGFS_BLOCK_NAME, S_IRUSR, debugfs_create_file(DEBUGFS_BLOCK_NAME, 0400,
wmi_handle->debugfs_phy, &wmi_handle->dbglog, wmi_handle->debugfs_phy, &wmi_handle->dbglog,
&fops_dbglog_block); &fops_dbglog_block);
@@ -4136,17 +4141,19 @@ static void cnss_diag_handle_crash_inject(struct dbglog_slot *slot)
switch (slot->diag_type) { switch (slot->diag_type) {
case DIAG_TYPE_CRASH_INJECT: case DIAG_TYPE_CRASH_INJECT:
if (slot->length != 2) { if (slot->length != 2) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("crash_inject cmd error\n")); AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("crash_inject cmd error\n"));
return; return;
} }
AR_DEBUG_PRINTF(ATH_DEBUG_INFO, AR_DEBUG_PRINTF(ATH_DEBUG_INFO,
("%s : DIAG_TYPE_CRASH_INJECT: %d %d\n", __func__, ("%s : DIAG_TYPE_CRASH_INJECT: %d %d\n",
slot->payload[0], slot->payload[1])); __func__, slot->payload[0],
slot->payload[1]));
if (!tgt_assert_enable) { if (!tgt_assert_enable) {
AR_DEBUG_PRINTF(ATH_DEBUG_INFO, AR_DEBUG_PRINTF(ATH_DEBUG_INFO,
("%s: tgt Assert Disabled\n", ("%s: tgt Assert Disabled\n",
__func__)); __func__));
return; return;
} }
wma_cli_set2_command(0, (int)GEN_PARAM_CRASH_INJECT, wma_cli_set2_command(0, (int)GEN_PARAM_CRASH_INJECT,
@@ -4184,13 +4191,13 @@ static void cnss_diag_cmd_handler(const void *data, int data_len,
*/ */
if (wlan_cfg80211_nla_parse(tb, CLD80211_ATTR_MAX, if (wlan_cfg80211_nla_parse(tb, CLD80211_ATTR_MAX,
data, data_len, NULL)) { data, data_len, NULL)) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s: nla parse fails \n", AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s: nla parse fails\n",
__func__)); __func__));
return; return;
} }
if (!tb[CLD80211_ATTR_DATA]) { if (!tb[CLD80211_ATTR_DATA]) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s: attr VENDOR_DATA fails \n", AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s: attr VENDOR_DATA fails\n",
__func__)); __func__));
return; return;
} }
@@ -4203,7 +4210,7 @@ static void cnss_diag_cmd_handler(const void *data, int data_len,
slot = (struct dbglog_slot *)nla_data(tb[CLD80211_ATTR_DATA]); slot = (struct dbglog_slot *)nla_data(tb[CLD80211_ATTR_DATA]);
if (!slot) { if (!slot) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s: data NULL \n", __func__)); AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("%s: data NULL\n", __func__));
return; return;
} }
@@ -4227,17 +4234,17 @@ int cnss_diag_activate_service(void)
#else #else
/**--------------------------------------------------------------------------- /**
\brief cnss_diag_msg_callback() - Call back invoked by netlink service * brief cnss_diag_msg_callback() - Call back invoked by netlink service
*
This function gets invoked by netlink service when a message is recevied * This function gets invoked by netlink service when a message is recevied
from the cnss-diag application in user-space. * from the cnss-diag application in user-space.
*
\param - * param -
- skb - skb with netlink message * - skb - skb with netlink message
*
\return - 0 for success, non zero for failure * return - 0 for success, non zero for failure
--------------------------------------------------------------------------*/ */
static int cnss_diag_msg_callback(struct sk_buff *skb) static int cnss_diag_msg_callback(struct sk_buff *skb)
{ {
struct nlmsghdr *nlh; struct nlmsghdr *nlh;
@@ -4246,8 +4253,8 @@ static int cnss_diag_msg_callback(struct sk_buff *skb)
nlh = (struct nlmsghdr *)skb->data; nlh = (struct nlmsghdr *)skb->data;
if (!nlh) { if (!nlh) {
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
("%s: Netlink header null \n", __func__)); ("%s: Netlink header null\n", __func__));
return -EINVAL; return A_ERROR;
} }
msg = NLMSG_DATA(nlh); msg = NLMSG_DATA(nlh);
@@ -4256,17 +4263,17 @@ static int cnss_diag_msg_callback(struct sk_buff *skb)
return 0; return 0;
} }
/**--------------------------------------------------------------------------- /**
\brief cnss_diag_activate_service() - Activate cnss_diag message handler * brief cnss_diag_activate_service() - Activate cnss_diag message handler
*
This function registers a handler to receive netlink message from * This function registers a handler to receive netlink message from
an cnss-diag application process. * an cnss-diag application process.
*
\param - * param -
- None * - None
*
\return - 0 for success, non zero for failure * return - 0 for success, non zero for failure
--------------------------------------------------------------------------*/ */
int cnss_diag_activate_service(void) int cnss_diag_activate_service(void)
{ {
int ret = 0; int ret = 0;
@@ -4416,9 +4423,8 @@ dbglog_wow_print_handler(A_UINT32 mod_id,
int dbglog_parser_type_init(wmi_unified_t wmi_handle, int type) int dbglog_parser_type_init(wmi_unified_t wmi_handle, int type)
{ {
if (type >= DBGLOG_PROCESS_MAX) { if (type >= DBGLOG_PROCESS_MAX)
return A_ERROR; return A_ERROR;
}
dbglog_process_type = type; dbglog_process_type = type;
gprint_limiter = false; gprint_limiter = false;
@@ -4429,6 +4435,7 @@ int dbglog_parser_type_init(wmi_unified_t wmi_handle, int type)
int dbglog_init(wmi_unified_t wmi_handle) int dbglog_init(wmi_unified_t wmi_handle)
{ {
int res = 0; int res = 0;
OS_MEMSET(mod_print, 0, sizeof(mod_print)); OS_MEMSET(mod_print, 0, sizeof(mod_print));
dbglog_reg_modprint(WLAN_MODULE_STA_PWRSAVE, dbglog_reg_modprint(WLAN_MODULE_STA_PWRSAVE,

Просмотреть файл

@@ -136,9 +136,10 @@ dbglog_set_log_lvl(wmi_unified_t wmi_handle, DBGLOG_LOG_LVL log_lvl);
* mod_id_lvl : the format is more user friendly. * mod_id_lvl : the format is more user friendly.
* module_id = mod_id_lvl/10; * module_id = mod_id_lvl/10;
* log_level = mod_id_lvl%10; * log_level = mod_id_lvl%10;
* example : mod_id_lvl is 153. then module id is 15 and log level is 3. this format allows * example : mod_id_lvl is 153. then module id is 15 and log level is 3.
* user to pass a sinlge value (which is the most convenient way for most of the OSs) * this format allows user to pass a sinlge value
* to be passed from user to the driver. * (which is the most convenient way for most of the OSs)
* to be passed from user to the driver.
*/ */
int int
dbglog_set_mod_log_lvl(wmi_unified_t wmi_handle, A_UINT32 mod_id_lvl); dbglog_set_mod_log_lvl(wmi_unified_t wmi_handle, A_UINT32 mod_id_lvl);
@@ -157,8 +158,9 @@ void
dbglog_set_vap_enable_bitmap(wmi_unified_t wmi_handle, dbglog_set_vap_enable_bitmap(wmi_unified_t wmi_handle,
A_UINT32 vap_enable_bitmap); A_UINT32 vap_enable_bitmap);
/** set log level for all the modules specified in the bitmap. for all other modules /** set log level for all the modules specified in the bitmap.
* with 0 in the bitmap (or) outside the bitmap , the log level be reset to DBGLOG_ERR. * for all other modules with 0 in the bitmap (or) outside the bitmap,
* the log level be reset to DBGLOG_ERR.
*/ */
void void
dbglog_set_mod_enable_bitmap(wmi_unified_t wmi_handle, dbglog_set_mod_enable_bitmap(wmi_unified_t wmi_handle,