qcacmn: fix srng lock hold long time due to logging
when lot of fragment frame with invalid peer_id indicated to host through reo exception ring, excessive logging cause srng lock hold long time. degrade log level as a WAR to avoid excessive logging. Change-Id: Iffb18ad723d1ac5955868cc8ec99bb0198785ee5 CRs-Fixed: 2584610
This commit is contained in:
@@ -49,8 +49,11 @@ extern bool is_dp_verbose_debug_enabled;
|
||||
#ifdef DP_PRINT_NO_CONSOLE
|
||||
#define dp_err_log(params...) \
|
||||
__QDF_TRACE_FL(QDF_TRACE_LEVEL_INFO_HIGH, QDF_MODULE_ID_DP, ## params)
|
||||
#define dp_info_rl(params...) \
|
||||
__QDF_TRACE_RL(QDF_TRACE_LEVEL_INFO_HIGH, QDF_MODULE_ID_DP, ## params)
|
||||
#else
|
||||
#define dp_err_log(params...) QDF_TRACE_ERROR(QDF_MODULE_ID_DP, params)
|
||||
#define dp_info_rl(params...) QDF_TRACE_INFO_RL(QDF_MODULE_ID_DP, params)
|
||||
#endif /* DP_PRINT_NO_CONSOLE */
|
||||
|
||||
#ifdef ENABLE_VERBOSE_DEBUG
|
||||
@@ -92,7 +95,6 @@ enum verbose_debug_module {
|
||||
#define dp_alert_rl(params...) QDF_TRACE_FATAL_RL(QDF_MODULE_ID_DP, params)
|
||||
#define dp_err_rl(params...) QDF_TRACE_ERROR_RL(QDF_MODULE_ID_DP, params)
|
||||
#define dp_warn_rl(params...) QDF_TRACE_WARN_RL(QDF_MODULE_ID_DP, params)
|
||||
#define dp_info_rl(params...) QDF_TRACE_INFO_RL(QDF_MODULE_ID_DP, params)
|
||||
#define dp_debug_rl(params...) QDF_TRACE_DEBUG_RL(QDF_MODULE_ID_DP, params)
|
||||
|
||||
/**
|
||||
|
@@ -1437,9 +1437,9 @@ dp_rx_defrag_store_fragment(struct dp_soc *soc,
|
||||
* however, that might happen while we are in the monitor mode.
|
||||
* We don't need to handle that here
|
||||
*/
|
||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
||||
"Unknown peer, dropping the fragment");
|
||||
|
||||
dp_info_rl("Unknown peer with peer_id %d, dropping fragment",
|
||||
peer_id);
|
||||
DP_STATS_INC(soc, rx.rx_frag_err_no_peer, 1);
|
||||
goto discard_frag;
|
||||
}
|
||||
|
||||
@@ -1728,8 +1728,7 @@ uint32_t dp_rx_frag_handle(struct dp_soc *soc, hal_ring_desc_t ring_desc,
|
||||
rx_bufs_used++;
|
||||
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
|
||||
"Rx Defrag err seq#:0x%x msdu_count:%d flags:%d",
|
||||
dp_info_rl("Rx Defrag err seq#:0x%x msdu_count:%d flags:%d",
|
||||
mpdu_desc_info->mpdu_seq,
|
||||
mpdu_desc_info->msdu_count,
|
||||
mpdu_desc_info->mpdu_flags);
|
||||
|
@@ -725,6 +725,8 @@ struct dp_soc_stats {
|
||||
uint32_t rx_frag_err;
|
||||
/* Fragments dropped due to len errors in skb */
|
||||
uint32_t rx_frag_err_len_error;
|
||||
/* Fragments dropped due to no peer found */
|
||||
uint32_t rx_frag_err_no_peer;
|
||||
/* No of reinjected packets */
|
||||
uint32_t reo_reinject;
|
||||
/* Reap loop packet limit hit */
|
||||
|
Reference in New Issue
Block a user