dataipa: Rate limiting some IPA errors.
Rate limiting GSI and IPA errors.
Change-Id: I0b1dc675685e9f1ddefd3bdf928b22e4c130c2ca
Signed-off-by: Michael Adisumarta <quic_madisuma@quicinc.com
diff --git a/drivers/platform/msm/gsi/gsi.c b/drivers/platform/msm/gsi/gsi.c
index 35d2fe9..728c283 100644
--- a/drivers/platform/msm/gsi/gsi.c
+++ b/drivers/platform/msm/gsi/gsi.c
@@ -4263,7 +4263,7 @@
if (ctx->props.prot != GSI_CHAN_PROT_GCI) {
__gsi_query_channel_free_re(ctx, &free);
if (num_xfers > free) {
- GSIERR("chan_hdl=%lu num_xfers=%u free=%u\n",
+ GSIERR_RL("chan_hdl=%lu num_xfers=%u free=%u\n",
chan_hdl, num_xfers, free);
spin_unlock_irqrestore(slock, flags);
return -GSI_STATUS_RING_INSUFFICIENT_SPACE;
diff --git a/drivers/platform/msm/gsi/gsi.h b/drivers/platform/msm/gsi/gsi.h
index 1e65d0a..bae59d2 100644
--- a/drivers/platform/msm/gsi/gsi.h
+++ b/drivers/platform/msm/gsi/gsi.h
@@ -87,6 +87,18 @@
} \
} while (0)
+#define GSIERR_RL(fmt, args...) \
+ do { \
+ dev_err_ratelimited(gsi_ctx->dev, "%s:%d " fmt, __func__, __LINE__, \
+ ## args);\
+ if (gsi_ctx) { \
+ GSI_IPC_LOGGING(gsi_ctx->ipc_logbuf, \
+ "%s:%d " fmt, ## args); \
+ GSI_IPC_LOGGING(gsi_ctx->ipc_logbuf_low, \
+ "%s:%d " fmt, ## args); \
+ } \
+ } while (0)
+
#define GSI_IPC_LOG_PAGES 50
#define GSI_MAX_NUM_MSI 2
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c b/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c
index 8de3694..71408e9 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_dp.c
@@ -2481,7 +2481,7 @@
}
if (num_frags == 0) {
if (ipa3_send(sys, data_idx + 1, desc, true)) {
- IPAERR("fail to send skb %pK HWP\n", skb);
+ IPAERR_RL("fail to send skb %pK HWP\n", skb);
goto fail_mem;
}
} else {
@@ -2501,7 +2501,7 @@
if (ipa3_send(sys, num_frags + data_idx + 1,
desc, true)) {
- IPAERR("fail to send skb %pK num_frags %u\n",
+ IPAERR_RL("fail to send skb %pK num_frags %u\n",
skb, num_frags);
goto fail_mem;
}
@@ -6039,7 +6039,7 @@
IPADBG_LOW("calling ipa3_send()\n");
if (ipa3_send(sys, 2, desc, true)) {
- IPAERR("fail to send skb\n");
+ IPAERR_RL("fail to send skb\n");
sys->ep->wstats.rx_pkt_leak += (cnt-1);
sys->ep->wstats.rx_dp_fail++;
goto fail_send;