On Thursday 08 April 2010 12:55:57 Bob Copeland wrote:
> Review spotted a couple of strange invocations to
> ieee80211_wake_queues that could potentially cause problems:
> 
>  - queues are awakened in the calibration tasklet before
>    phy calibration, and then again after calibration
> 
>  - queues are awakened inside reset when we're trying to
>    drain the ath5k transmit queues, and again after
>    reset is completed (in callers to ath5k_reset_wake).
> 
> In both cases the first wake is unnecessary, so remove it.
> 
> Signed-off-by: Bob Copeland <m...@bobcopeland.com>
> ---
>  drivers/net/wireless/ath/ath5k/base.c |    3 +--
>  1 files changed, 1 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath5k/base.c
> b/drivers/net/wireless/ath/ath5k/base.c index a1c0dcb..1e10439 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -1633,7 +1633,6 @@ ath5k_txq_cleanup(struct ath5k_softc *sc)
>                                       sc->txqs[i].link);
>                       }
>       }
> -     ieee80211_wake_queues(sc->hw); /* XXX move to callers */
> 
>       for (i = 0; i < ARRAY_SIZE(sc->txqs); i++)
>               if (sc->txqs[i].setup)
> @@ -2761,7 +2760,7 @@ ath5k_tasklet_calibrate(unsigned long data)
>                * to load new gain values.
>                */
>               ATH5K_DBG(sc, ATH5K_DEBUG_RESET, "calibration, resetting\n");
> -             ath5k_reset_wake(sc);
> +             ath5k_reset(sc, sc->curchan);
>       }
>       if (ath5k_hw_phy_calibrate(ah, sc->curchan))
>               ATH5K_ERR(sc, "calibration of channel %u failed\n",

for whatever it's worth :-)

Acked-by: Bruno Randolf <b...@einfach.org>
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to