qcacmn: Rate limit error logs from send_diag_netlink_data
Introduce proper logging APIs for diag module and also rate limit error logs when skb allocation fails in low memory conditions to avoid excessive logging side effects Change-Id: Ia41ff7cfd526180825df61a43f1f59163947f257 CRs-Fixed: 2836681
This commit is contained in:
@@ -391,6 +391,7 @@ typedef bool (*qdf_irqlocked_func_t)(void *);
|
||||
* @QDF_MODULE_ID_IFMGR: Interface Manager feature ID
|
||||
* @QDF_MODULE_ID_MSCS: MSCS feature ID
|
||||
* @QDF_MODULE_ID_GPIO: GPIO configuration module ID
|
||||
* @QDF_MODULE_ID_DIAG: Host diag module ID
|
||||
* @QDF_MODULE_ID_ANY: anything
|
||||
* @QDF_MODULE_ID_MAX: Max place holder module ID
|
||||
*
|
||||
@@ -522,6 +523,7 @@ typedef enum {
|
||||
QDF_MODULE_ID_IFMGR,
|
||||
QDF_MODULE_ID_MSCS,
|
||||
QDF_MODULE_ID_GPIO,
|
||||
QDF_MODULE_ID_DIAG,
|
||||
QDF_MODULE_ID_ANY,
|
||||
QDF_MODULE_ID_MAX,
|
||||
} QDF_MODULE_ID;
|
||||
|
@@ -3170,6 +3170,7 @@ struct category_name_info g_qdf_category_name[MAX_SUPPORTED_CATEGORY] = {
|
||||
[QDF_MODULE_ID_MSCS] = {"MSCS"},
|
||||
[QDF_MODULE_ID_GPIO] = {"GPIO_CFG"},
|
||||
[QDF_MODULE_ID_IFMGR] = {"IF_MGR"},
|
||||
[QDF_MODULE_ID_DIAG] = {"DIAG"},
|
||||
};
|
||||
qdf_export_symbol(g_qdf_category_name);
|
||||
|
||||
@@ -3719,6 +3720,7 @@ static void set_default_trace_levels(struct category_info *cinfo)
|
||||
[QDF_MODULE_ID_MSCS] = QDF_TRACE_LEVEL_INFO,
|
||||
[QDF_MODULE_ID_GPIO] = QDF_TRACE_LEVEL_NONE,
|
||||
[QDF_MODULE_ID_IFMGR] = QDF_TRACE_LEVEL_ERROR,
|
||||
[QDF_MODULE_ID_DIAG] = QDF_TRACE_LEVEL_ERROR,
|
||||
};
|
||||
|
||||
for (i = 0; i < MAX_SUPPORTED_CATEGORY; i++) {
|
||||
|
@@ -1750,8 +1750,7 @@ send_diag_netlink_data(const uint8_t *buffer, uint32_t len, uint32_t cmd)
|
||||
|
||||
skb_out = nlmsg_new(slot_len, GFP_ATOMIC);
|
||||
if (!skb_out) {
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
|
||||
("Failed to allocate new skb\n"));
|
||||
diag_err_rl("Failed to allocate new skb");
|
||||
return A_ERROR;
|
||||
}
|
||||
|
||||
|
@@ -69,6 +69,14 @@ extern "C" {
|
||||
#define DIAG_GET_PAYLEN16(arg) \
|
||||
((arg & DIAG_PAYLEN_MASK16) >> DIAG_PAYLEN_OFFSET16)
|
||||
|
||||
#define diag_alert(params...) QDF_TRACE_FATAL(QDF_MODULE_ID_DIAG, params)
|
||||
#define diag_err(params...) QDF_TRACE_ERROR(QDF_MODULE_ID_DIAG, params)
|
||||
#define diag_warn(params...) QDF_TRACE_WARN(QDF_MODULE_ID_DIAG, params)
|
||||
#define diag_info(params...) QDF_TRACE_INFO(QDF_MODULE_ID_DIAG, params)
|
||||
#define diag_debug(params...) QDF_TRACE_DEBUG(QDF_MODULE_ID_DIAG, params)
|
||||
|
||||
#define diag_err_rl(params...) QDF_TRACE_ERROR_RL(QDF_MODULE_ID_DIAG, params)
|
||||
|
||||
#ifdef FEATURE_FW_LOG_PARSING
|
||||
/*
|
||||
* set the dbglog parser type
|
||||
|
Reference in New Issue
Block a user