2008-11-03 22:25:57

by Nick Kossifidis

[permalink] [raw]
Subject: [PATCH] ath5k: Fix IMR init

*On a previous patch i splitted AR5K_INT_TX to multiple different TX
interrupt flags for better handling but i forgot to unmask the new
TXDESC and TXEOL interrupts on ath5k_init and only left TXOK. However
for each queue we enable TXDESC and TXEOL interrupts, not TXOK so we don't
handle TX interrupts at all (because these interrupts remain masked on
PISR) and under load it results packet loss. Fix the problem by
unmasking TXDESC and TXEOL on ath5k_init.


Signed-Off-by: Nick Kossifidis <[email protected]>

---
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
index 5ef8cc4..f5f46fe 100644
--- a/drivers/net/wireless/ath5k/base.c
+++ b/drivers/net/wireless/ath5k/base.c
@@ -2219,9 +2219,9 @@ ath5k_init(struct ath5k_softc *sc, bool is_resume)
*/
sc->curchan = sc->hw->conf.channel;
sc->curband = &sc->sbands[sc->curchan->band];
- sc->imask = AR5K_INT_RXOK | AR5K_INT_TXOK | AR5K_INT_RXEOL |
- AR5K_INT_RXORN | AR5K_INT_FATAL | AR5K_INT_GLOBAL |
- AR5K_INT_MIB;
+ sc->imask = AR5K_INT_RXOK | AR5K_INT_RXERR | AR5K_INT_RXEOL |
+ AR5K_INT_RXORN | AR5K_INT_TXDESC | AR5K_INT_TXEOL |
+ AR5K_INT_FATAL | AR5K_INT_GLOBAL | AR5K_INT_MIB;
ret = ath5k_reset(sc, false, false);
if (ret)
goto done;


2008-11-06 23:13:38

by Nick Kossifidis

[permalink] [raw]
Subject: Re: [ath5k-devel] [PATCH] ath5k: Fix IMR init

2008/11/4 Bob Copeland <[email protected]>:
> On Mon, Nov 3, 2008 at 5:44 PM, Luis R. Rodriguez
> <[email protected]> wrote:
>> On Mon, Nov 03, 2008 at 02:25:54PM -0800, Nick Kossifidis wrote:
>>> PISR) and under load it results packet loss. Fix the problem by
>>> unmasking TXDESC and TXEOL on ath5k_init.
>>>
>>> Signed-Off-by: Nick Kossifidis <[email protected]>
>>
>> ACK
>
> Yes, please - worked great here.
>

John any news on this ? Is it ok for inclusion or you want me to
respin/rebase it ?

--
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick

2008-11-03 22:48:20

by Bob Copeland

[permalink] [raw]
Subject: Re: [ath5k-devel] [PATCH] ath5k: Fix IMR init

On Mon, Nov 3, 2008 at 5:44 PM, Luis R. Rodriguez
<[email protected]> wrote:
> On Mon, Nov 03, 2008 at 02:25:54PM -0800, Nick Kossifidis wrote:
>> PISR) and under load it results packet loss. Fix the problem by
>> unmasking TXDESC and TXEOL on ath5k_init.
>>
>> Signed-Off-by: Nick Kossifidis <[email protected]>
>
> ACK

Yes, please - worked great here.

--
Bob Copeland %% http://www.bobcopeland.com

2008-11-03 22:44:27

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: [ath5k-devel] [PATCH] ath5k: Fix IMR init

On Mon, Nov 03, 2008 at 02:25:54PM -0800, Nick Kossifidis wrote:
> *On a previous patch i splitted AR5K_INT_TX to multiple different TX
> interrupt flags for better handling but i forgot to unmask the new
> TXDESC and TXEOL interrupts on ath5k_init and only left TXOK. However
> for each queue we enable TXDESC and TXEOL interrupts, not TXOK so we don't
> handle TX interrupts at all (because these interrupts remain masked on
> PISR) and under load it results packet loss. Fix the problem by
> unmasking TXDESC and TXEOL on ath5k_init.
>
>
> Signed-Off-by: Nick Kossifidis <[email protected]>

ACK