2012-01-27 13:09:20

by Yogesh Ashok Powar

[permalink] [raw]
Subject: [PATCH] mwl8k: Configuring correct MAC address in broadcast key

While configuring the broadcast key in the hardware, in
multi-BSS environment, BSSes other than first were
incorrectly configured with the MAC address of first
BSS. Fixing it with correct MAC addresses.

Signed-off-by: Yogesh Ashok Powar <[email protected]>
---
(resent to include the linux-wireless list)


drivers/net/wireless/mwl8k.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index dd5aeaf..fd12547 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -4093,7 +4093,7 @@ static int mwl8k_set_key(struct ieee80211_hw *hw,
return -EOPNOTSUPP;

if (sta == NULL)
- addr = hw->wiphy->perm_addr;
+ addr = vif->addr;
else
addr = sta->addr;

--
1.7.5.4



2012-01-30 17:25:36

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH] mwl8k: Configuring correct MAC address in broadcast key

Hello,

On 01/27/12 14:04, Yogesh Ashok Powar wrote:
> While configuring the broadcast key in the hardware, in
> multi-BSS environment, BSSes other than first were
> incorrectly configured with the MAC address of first
> BSS. Fixing it with correct MAC addresses.
>
> Signed-off-by: Yogesh Ashok Powar<[email protected]>
> ---
> (resent to include the linux-wireless list)

You might want to get this fix included for the stable 3.0, 3.1 and 3.2
releases since mwl8k_set_key() was introduced in 2.6.39 with:
fcdc403c31ed5bb5f3baf42f4e2b5e7198fef0c0: mwl8k: Enable HW encryption
for AP mode

>
>
> drivers/net/wireless/mwl8k.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
> index dd5aeaf..fd12547 100644
> --- a/drivers/net/wireless/mwl8k.c
> +++ b/drivers/net/wireless/mwl8k.c
> @@ -4093,7 +4093,7 @@ static int mwl8k_set_key(struct ieee80211_hw *hw,
> return -EOPNOTSUPP;
>
> if (sta == NULL)
> - addr = hw->wiphy->perm_addr;
> + addr = vif->addr;
> else
> addr = sta->addr;
>