diff options
| author | wadesong <wadesong@codeaurora.org> | 2017-11-13 11:53:19 +0800 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-11-30 20:36:45 -0800 |
| commit | 38f50197446d7d52da929972bc000b48a0e84b62 (patch) | |
| tree | bc6536d2e49c1b23496b14bf32b1a6321a772094 | |
| parent | ce4fc3f3bd77a6ffbe569661c9b05be6188e2f86 (diff) | |
qcacmn: Debug print rate limiting
Implement driver debug print rate limiting in HIF SDIO RX
path and QDF nbuf allocation path to avoid driver
inactivity watch dog time out when the platform is facing
great memory pressure.
Change-Id: Ifa4fe3e7027150fd1469df58049776fca8aa6f2f
CRs-Fixed: 2148314
| -rw-r--r-- | hif/inc/hif.h | 2 | ||||
| -rw-r--r-- | hif/src/sdio/hif_sdio_dev.c | 6 | ||||
| -rw-r--r-- | qdf/linux/src/qdf_nbuf.c | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/hif/inc/hif.h b/hif/inc/hif.h index a62db2bd76f8..a4253d530f4a 100644 --- a/hif/inc/hif.h +++ b/hif/inc/hif.h @@ -51,6 +51,8 @@ extern "C" { typedef void __iomem *A_target_id_t; typedef void *hif_handle_t; +#define HIF_DBG_PRINT_RATE 1000 + #define HIF_TYPE_AR6002 2 #define HIF_TYPE_AR6003 3 #define HIF_TYPE_AR6004 5 diff --git a/hif/src/sdio/hif_sdio_dev.c b/hif/src/sdio/hif_sdio_dev.c index 0bad5cdc7542..a85a48a92a8b 100644 --- a/hif/src/sdio/hif_sdio_dev.c +++ b/hif/src/sdio/hif_sdio_dev.c @@ -190,8 +190,10 @@ HTC_PACKET *hif_dev_alloc_rx_buffer(struct hif_sdio_device *pdev) headsize = sizeof(HTC_PACKET); netbuf = qdf_nbuf_alloc(NULL, bufsize + headsize, 0, 4, false); if (netbuf == NULL) { - AR_DEBUG_PRINTF(ATH_DEBUG_ERR, - ("(%s)Allocate netbuf failed\n", __func__)); + QDF_TRACE_RATE_LIMITED(HIF_DBG_PRINT_RATE, QDF_MODULE_ID_HIF, + QDF_TRACE_LEVEL_ERROR, + "(%s)Allocate netbuf failed\n", + __func__); return NULL; } packet = (HTC_PACKET *) qdf_nbuf_data(netbuf); diff --git a/qdf/linux/src/qdf_nbuf.c b/qdf/linux/src/qdf_nbuf.c index f370284e3c5e..587da9b33599 100644 --- a/qdf/linux/src/qdf_nbuf.c +++ b/qdf/linux/src/qdf_nbuf.c @@ -305,7 +305,8 @@ struct sk_buff *__qdf_nbuf_alloc(qdf_device_t osdev, size_t size, int reserve, skb = pld_nbuf_pre_alloc(size); if (!skb) { - pr_info("ERROR:NBUF alloc failed\n"); + pr_err_ratelimited("ERROR:NBUF alloc failed, size = %zu\n", + size); __qdf_nbuf_start_replenish_timer(); return NULL; } |
