Message ID | 1503947927-18877-2-git-send-email-qca_merez@qca.qualcomm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 40cbd88be702a2455b6e047dc13f5d51ed542063 |
Delegated to: | Kalle Valo |
Headers | show |
Maya Erez <qca_merez@qca.qualcomm.com> wrote: > Sometimes there is a firmware crash but the hardware > is not fully stopped and continue to send TX/RX interrupts. > This can cause an overload of messages which can bring the > host down. Add ratelimit to these error messages to fix this. > > Signed-off-by: Lior David <qca_liord@qca.qualcomm.com> > Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> > Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> 7 patches applied to ath-next branch of ath.git, thanks. 40cbd88be702 wil6210: ratelimit errors in TX/RX interrupts 5f591dac9f20 wil6210: make debugfs compilation optional 761f8e4d463e wil6210: align to latest auto generated wmi.h 1490846d256a wil6210: move pre-FW configuration to separate function 7086d861753b wil6210: clear PAL_UNIT_ICR part of device reset d83ad4c4fd78 wil6210: increase connect timeout 69fecf599f48 wil6210: ensure P2P device is stopped before removing interface
diff --git a/drivers/net/wireless/ath/wil6210/interrupt.c b/drivers/net/wireless/ath/wil6210/interrupt.c index cad8a95..59def4f 100644 --- a/drivers/net/wireless/ath/wil6210/interrupt.c +++ b/drivers/net/wireless/ath/wil6210/interrupt.c @@ -244,7 +244,7 @@ static irqreturn_t wil6210_irq_rx(int irq, void *cookie) wil_dbg_irq(wil, "ISR RX 0x%08x\n", isr); if (unlikely(!isr)) { - wil_err(wil, "spurious IRQ: RX\n"); + wil_err_ratelimited(wil, "spurious IRQ: RX\n"); return IRQ_NONE; } @@ -269,11 +269,12 @@ static irqreturn_t wil6210_irq_rx(int irq, void *cookie) need_unmask = false; napi_schedule(&wil->napi_rx); } else { - wil_err(wil, + wil_err_ratelimited( + wil, "Got Rx interrupt while stopping interface\n"); } } else { - wil_err(wil, "Got Rx interrupt while in reset\n"); + wil_err_ratelimited(wil, "Got Rx interrupt while in reset\n"); } } @@ -302,7 +303,7 @@ static irqreturn_t wil6210_irq_tx(int irq, void *cookie) wil_dbg_irq(wil, "ISR TX 0x%08x\n", isr); if (unlikely(!isr)) { - wil_err(wil, "spurious IRQ: TX\n"); + wil_err_ratelimited(wil, "spurious IRQ: TX\n"); return IRQ_NONE; } @@ -318,12 +319,13 @@ static irqreturn_t wil6210_irq_tx(int irq, void *cookie) need_unmask = false; napi_schedule(&wil->napi_tx); } else { - wil_err(wil, "Got Tx interrupt while in reset\n"); + wil_err_ratelimited(wil, "Got Tx interrupt while in reset\n"); } } if (unlikely(isr)) - wil_err(wil, "un-handled TX ISR bits 0x%08x\n", isr); + wil_err_ratelimited(wil, "un-handled TX ISR bits 0x%08x\n", + isr); /* Tx IRQ will be enabled when NAPI processing finished */