From 37a17d3f35a22c14f26f687bf2bd3d92a517c803 Mon Sep 17 00:00:00 2001 From: "Poddar, Siddarth" Date: Wed, 9 Aug 2017 19:04:39 +0530 Subject: [PATCH] qcacld-3.0: Rate limit HS 2.0 Gratuitous ARP droppage messages Rate limit the HS 2.0 Gratuitous ARP messagess to 1/8 to avoid message flooding in kernel logs. Change-Id: Icdcb8c18a2f17e2379ca6c5898db28800debdc16 CRs-Fixed: 2084136 --- core/hdd/src/wlan_hdd_tx_rx.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 42830a70ce2f..d627c6ba9bfd 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -1186,10 +1186,16 @@ QDF_STATUS hdd_rx_packet_cbk(void *context, qdf_nbuf_t rxBuf) pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); if ((pHddStaCtx->conn_info.proxyARPService) && cfg80211_is_gratuitous_arp_unsolicited_na(skb)) { - ++pAdapter->hdd_stats.hddTxRxStats.rxDropped[cpu_index]; - QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_INFO, - "%s: Dropping HS 2.0 Gratuitous ARP or Unsolicited NA", - __func__); + uint32_t rx_dropped; + + rx_dropped = ++pAdapter->hdd_stats.hddTxRxStats. + rxDropped[cpu_index]; + /* rate limit error messages to 1/8th */ + if ((rx_dropped & 0x07) == 0) + QDF_TRACE(QDF_MODULE_ID_HDD_DATA, + QDF_TRACE_LEVEL_INFO, + "%s: Dropping HS 2.0 Gratuitous ARP or Unsolicited NA count=%u", + __func__, rx_dropped); /* Remove SKB from internal tracking table before submitting * it to stack */