Linux wireless drivers development
 help / color / mirror / Atom feed
* [PATCH 2/6] ath5k: Always free tx buffers before reset
@ 2010-12-03  4:05 Nick Kossifidis
  2010-12-03  6:34 ` Sedat Dilek
  0 siblings, 1 reply; 2+ messages in thread
From: Nick Kossifidis @ 2010-12-03  4:05 UTC (permalink / raw)
  To: ath5k-devel, linux-wireless
  Cc: linville, me, mcgrof, jirislaby, nbd, br1, sedat.dilek

 * 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 <mickflemm@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];
 	}

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 2/6] ath5k: Always free tx buffers before reset
  2010-12-03  4:05 [PATCH 2/6] ath5k: Always free tx buffers before reset Nick Kossifidis
@ 2010-12-03  6:34 ` Sedat Dilek
  0 siblings, 0 replies; 2+ messages in thread
From: Sedat Dilek @ 2010-12-03  6:34 UTC (permalink / raw)
  To: ath5k-devel, linux-wireless, linville, me, mcgrof, jirislaby, nbd,
	br1, sedat.dilek

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

On Fri, Dec 3, 2010 at 5:05 AM, Nick Kossifidis <mickflemm@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 <mickflemm@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];
>        }
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-12-03  6:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-03  4:05 [PATCH 2/6] ath5k: Always free tx buffers before reset Nick Kossifidis
2010-12-03  6:34 ` Sedat Dilek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox