aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>2014-12-01 15:36:03 +0200
committerJohn W. Linville <linville@tuxdriver.com>2014-12-01 15:57:23 -0500
commit70801e1b1eaebcc4367114881f4beb8532bdba2f (patch)
tree2b40e92da68d6d7d9afe48c7105c945f80c38846
parentwil6210: fix warning in pointer arithmetic (diff)
downloadwireguard-linux-70801e1b1eaebcc4367114881f4beb8532bdba2f.tar.xz
wireguard-linux-70801e1b1eaebcc4367114881f4beb8532bdba2f.zip
wil6210: Rate limit "ring full" error message
In the wil_tx_ring, error message printed when tx attempted while vring has no space to accommodate all fragments of frame. Normally, such situation handled by stopping tx queue. But, if tx queue is by-passed (like pktgen does), this error will be triggered at high rate and dmesg will be flooded with this message. Whole system may become unstable and hang with no possible recover except power cycle. Rate-limit it to prevent dmesg flooding. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/wil6210/txrx.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c
index c3a548967c79..405ede655be5 100644
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -928,8 +928,9 @@ static int wil_tx_vring(struct wil6210_priv *wil, struct vring *vring,
wil_dbg_txrx(wil, "%s()\n", __func__);
if (avail < 1 + nr_frags) {
- wil_err(wil, "Tx ring full. No space for %d fragments\n",
- 1 + nr_frags);
+ wil_err_ratelimited(wil,
+ "Tx ring full. No space for %d fragments\n",
+ 1 + nr_frags);
return -ENOMEM;
}
_d = &vring->va[i].tx;