summaryrefslogtreecommitdiffstats
path: root/sys/dev/ath/if_ath_tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/ath/if_ath_tx.c')
-rw-r--r--sys/dev/ath/if_ath_tx.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/dev/ath/if_ath_tx.c b/sys/dev/ath/if_ath_tx.c
index 5e7f13e..a651c86 100644
--- a/sys/dev/ath/if_ath_tx.c
+++ b/sys/dev/ath/if_ath_tx.c
@@ -2976,7 +2976,19 @@ ath_tx_tid_resume(struct ath_softc *sc, struct ath_tid *tid)
{
ATH_TX_LOCK_ASSERT(sc);
- tid->paused--;
+ /*
+ * There's some odd places where ath_tx_tid_resume() is called
+ * when it shouldn't be; this works around that particular issue
+ * until it's actually resolved.
+ */
+ if (tid->paused == 0) {
+ device_printf(sc->sc_dev, "%s: %6D: paused=0?\n",
+ __func__,
+ tid->an->an_node.ni_macaddr,
+ ":");
+ } else {
+ tid->paused--;
+ }
DPRINTF(sc, ATH_DEBUG_SW_TX_CTRL, "%s: unpaused = %d\n",
__func__, tid->paused);
OpenPOWER on IntegriCloud