2012-04-02 20:41:42

by Ben Greear

[permalink] [raw]
Subject: [PATCH] ath9k: Don't delete key from hw if using sw-crypt.

From: Ben Greear <[email protected]>

This spams logs if we are using large numbers of stations,
for instance:

ath: wiphy0: keyreset: keycache entry 228 out of range
ath: wiphy0: keyreset: keycache entry 228 out of range

Signed-off-by: Ben Greear <[email protected]>
---
:100644 100644 917032a... 65e7281... M drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/main.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index 917032a..65e7281 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1771,6 +1771,9 @@ static void ath9k_del_ps_key(struct ath_softc *sc,
if (!an->ps_key)
return;

+ if (ath9k_modparam_nohwcrypt)
+ return;
+
ath_key_delete(common, &ps_key);
}

--
1.7.3.4



2012-04-04 11:55:49

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Don't delete key from hw if using sw-crypt.

On 2012-04-03 6:09 PM, Ben Greear wrote:
> On 04/03/2012 09:05 AM, Felix Fietkau wrote:
>>
>> On 03.04.2012, at 16:44, Ben Greear<[email protected]> wrote:
>>
>>> On 04/03/2012 06:16 AM, Felix Fietkau wrote:
>>>> On 2012-04-02 10:41 PM, [email protected] wrote:
>>>>> From: Ben Greear<[email protected]>
>>>>>
>>>>> This spams logs if we are using large numbers of stations,
>>>>> for instance:
>>>>>
>>>>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>>>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>>>>
>>>>> Signed-off-by: Ben Greear<[email protected]>
>>>>> ---
>>>>> :100644 100644 917032a... 65e7281... M drivers/net/wireless/ath/ath9k/main.c
>>>>> drivers/net/wireless/ath/ath9k/main.c | 3 +++
>>>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
>>>>> index 917032a..65e7281 100644
>>>>> --- a/drivers/net/wireless/ath/ath9k/main.c
>>>>> +++ b/drivers/net/wireless/ath/ath9k/main.c
>>>>> @@ -1771,6 +1771,9 @@ static void ath9k_del_ps_key(struct ath_softc *sc,
>>>>> if (!an->ps_key)
>>>>> return;
>>>>>
>>>>> + if (ath9k_modparam_nohwcrypt)
>>>>> + return;
>>>>> +
>>>> This looks wrong to me. ps_key is used for better powersave handling of
>>>> both unencrypted and encrypted stations (using the keycache only for tx
>>>> filtering on unencrypted stations).
>>>
>>> Ok..should we just remove the spammy printk when the keycache entry
>>> is out of range then?
>> I'd say we should figure out why it triggers at all.
>
> I have more than 200 stations associating, and that is more than there
> are key-indexes it appears. I can add a WARN_ON if you'd like to see
> a backtrace or any other info...
In that case key index allocation should simply fail instead of
returning something that it refuses to delete later.

- Felix


2012-04-03 13:16:24

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Don't delete key from hw if using sw-crypt.

On 2012-04-02 10:41 PM, [email protected] wrote:
> From: Ben Greear <[email protected]>
>
> This spams logs if we are using large numbers of stations,
> for instance:
>
> ath: wiphy0: keyreset: keycache entry 228 out of range
> ath: wiphy0: keyreset: keycache entry 228 out of range
>
> Signed-off-by: Ben Greear <[email protected]>
> ---
> :100644 100644 917032a... 65e7281... M drivers/net/wireless/ath/ath9k/main.c
> drivers/net/wireless/ath/ath9k/main.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
> index 917032a..65e7281 100644
> --- a/drivers/net/wireless/ath/ath9k/main.c
> +++ b/drivers/net/wireless/ath/ath9k/main.c
> @@ -1771,6 +1771,9 @@ static void ath9k_del_ps_key(struct ath_softc *sc,
> if (!an->ps_key)
> return;
>
> + if (ath9k_modparam_nohwcrypt)
> + return;
> +
This looks wrong to me. ps_key is used for better powersave handling of
both unencrypted and encrypted stations (using the keycache only for tx
filtering on unencrypted stations).

- Felix

2012-04-03 14:44:58

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Don't delete key from hw if using sw-crypt.

On 04/03/2012 06:16 AM, Felix Fietkau wrote:
> On 2012-04-02 10:41 PM, [email protected] wrote:
>> From: Ben Greear<[email protected]>
>>
>> This spams logs if we are using large numbers of stations,
>> for instance:
>>
>> ath: wiphy0: keyreset: keycache entry 228 out of range
>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>
>> Signed-off-by: Ben Greear<[email protected]>
>> ---
>> :100644 100644 917032a... 65e7281... M drivers/net/wireless/ath/ath9k/main.c
>> drivers/net/wireless/ath/ath9k/main.c | 3 +++
>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
>> index 917032a..65e7281 100644
>> --- a/drivers/net/wireless/ath/ath9k/main.c
>> +++ b/drivers/net/wireless/ath/ath9k/main.c
>> @@ -1771,6 +1771,9 @@ static void ath9k_del_ps_key(struct ath_softc *sc,
>> if (!an->ps_key)
>> return;
>>
>> + if (ath9k_modparam_nohwcrypt)
>> + return;
>> +
> This looks wrong to me. ps_key is used for better powersave handling of
> both unencrypted and encrypted stations (using the keycache only for tx
> filtering on unencrypted stations).

Ok..should we just remove the spammy printk when the keycache entry
is out of range then?

THanks,
Ben

>
> - Felix


--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com

2012-04-03 16:09:27

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Don't delete key from hw if using sw-crypt.

On 04/03/2012 09:05 AM, Felix Fietkau wrote:
>
> On 03.04.2012, at 16:44, Ben Greear<[email protected]> wrote:
>
>> On 04/03/2012 06:16 AM, Felix Fietkau wrote:
>>> On 2012-04-02 10:41 PM, [email protected] wrote:
>>>> From: Ben Greear<[email protected]>
>>>>
>>>> This spams logs if we are using large numbers of stations,
>>>> for instance:
>>>>
>>>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>>>
>>>> Signed-off-by: Ben Greear<[email protected]>
>>>> ---
>>>> :100644 100644 917032a... 65e7281... M drivers/net/wireless/ath/ath9k/main.c
>>>> drivers/net/wireless/ath/ath9k/main.c | 3 +++
>>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
>>>> index 917032a..65e7281 100644
>>>> --- a/drivers/net/wireless/ath/ath9k/main.c
>>>> +++ b/drivers/net/wireless/ath/ath9k/main.c
>>>> @@ -1771,6 +1771,9 @@ static void ath9k_del_ps_key(struct ath_softc *sc,
>>>> if (!an->ps_key)
>>>> return;
>>>>
>>>> + if (ath9k_modparam_nohwcrypt)
>>>> + return;
>>>> +
>>> This looks wrong to me. ps_key is used for better powersave handling of
>>> both unencrypted and encrypted stations (using the keycache only for tx
>>> filtering on unencrypted stations).
>>
>> Ok..should we just remove the spammy printk when the keycache entry
>> is out of range then?
> I'd say we should figure out why it triggers at all.

I have more than 200 stations associating, and that is more than there
are key-indexes it appears. I can add a WARN_ON if you'd like to see
a backtrace or any other info...

Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com


2012-04-03 16:06:27

by Felix Fietkau

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Don't delete key from hw if using sw-crypt.


On 03.04.2012, at 16:44, Ben Greear <[email protected]> wrote:

> On 04/03/2012 06:16 AM, Felix Fietkau wrote:
>> On 2012-04-02 10:41 PM, [email protected] wrote:
>>> From: Ben Greear<[email protected]>
>>>
>>> This spams logs if we are using large numbers of stations,
>>> for instance:
>>>
>>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>> ath: wiphy0: keyreset: keycache entry 228 out of range
>>>
>>> Signed-off-by: Ben Greear<[email protected]>
>>> ---
>>> :100644 100644 917032a... 65e7281... M drivers/net/wireless/ath/ath9k/main.c
>>> drivers/net/wireless/ath/ath9k/main.c | 3 +++
>>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
>>> index 917032a..65e7281 100644
>>> --- a/drivers/net/wireless/ath/ath9k/main.c
>>> +++ b/drivers/net/wireless/ath/ath9k/main.c
>>> @@ -1771,6 +1771,9 @@ static void ath9k_del_ps_key(struct ath_softc *sc,
>>> if (!an->ps_key)
>>> return;
>>>
>>> + if (ath9k_modparam_nohwcrypt)
>>> + return;
>>> +
>> This looks wrong to me. ps_key is used for better powersave handling of
>> both unencrypted and encrypted stations (using the keycache only for tx
>> filtering on unencrypted stations).
>
> Ok..should we just remove the spammy printk when the keycache entry
> is out of range then?
I'd say we should figure out why it triggers at all.

- Felix