Tested-by: Sedat Dilek <sedat.di...@gmail.com>

On Fri, Dec 3, 2010 at 5:05 AM, Nick Kossifidis <mickfl...@gmail.com> wrote:
>  * Always free tx buffers before reset, since we also empty hw queues.
>  If we don't and a queue gets stuck, we'll never decrease txq_len and sw
>  will keep thinking the queue is still stuck even after reset.
>
>  Signed-off-by: Nick Kossifidis <mickfl...@gmail.com>
>
> ---
>  drivers/net/wireless/ath/ath5k/base.c |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath5k/base.c 
> b/drivers/net/wireless/ath/ath5k/base.c
> index a8d380a..047b2a0 100644
> --- a/drivers/net/wireless/ath/ath5k/base.c
> +++ b/drivers/net/wireless/ath/ath5k/base.c
> @@ -2512,9 +2512,11 @@ ath5k_reset(struct ath5k_softc *sc, struct 
> ieee80211_channel *chan,
>        synchronize_irq(sc->pdev->irq);
>        stop_tasklets(sc);
>
> +       /* We are going to empty hw queues
> +        * so we should also free any remaining
> +        * tx buffers */
> +       ath5k_drain_tx_buffs(sc);
>        if (chan) {
> -               ath5k_drain_tx_buffs(sc);
> -
>                sc->curchan = chan;
>                sc->curband = &sc->sbands[chan->band];
>        }
>
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to