On Tue January 18 2011 22:06:43 Bob Copeland wrote: > ath5k_reset must be called with sc->lock. Since the tx queue > watchdog runs in a workqueue and accesses sc, it's appropriate > to just take the lock over the whole function. > > Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath5k/base.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath5k/base.c > b/drivers/net/wireless/ath/ath5k/base.c index 019a74d..09ae4ef 100644 > --- a/drivers/net/wireless/ath/ath5k/base.c > +++ b/drivers/net/wireless/ath/ath5k/base.c > @@ -2294,6 +2294,8 @@ ath5k_tx_complete_poll_work(struct work_struct *work) > int i; > bool needreset = false; > > + mutex_lock(&sc->lock); > + > for (i = 0; i < ARRAY_SIZE(sc->txqs); i++) { > if (sc->txqs[i].setup) { > txq = &sc->txqs[i]; > @@ -2321,6 +2323,8 @@ ath5k_tx_complete_poll_work(struct work_struct *work) > ath5k_reset(sc, NULL, true); > } > > + mutex_unlock(&sc->lock); > + > ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, > msecs_to_jiffies(ATH5K_TX_COMPLETE_POLL_INT)); > } Acked-by: Bruno Randolf <br1@xxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html