Skip to content

Commit

Permalink
wil6210: ratelimit errors in TX/RX interrupts
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Lior David authored and Kalle Valo committed Aug 31, 2017
1 parent c0cc00f commit 40cbd88
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions drivers/net/wireless/ath/wil6210/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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");
}
}

Expand Down Expand Up @@ -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;
}

Expand All @@ -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 */

Expand Down

0 comments on commit 40cbd88

Please sign in to comment.