[PATCH 2/4] ath10k: fix multiple key static wep with ibss
Ben Greear
greearb at candelatech.com
Fri Apr 10 10:17:26 PDT 2015
On 04/10/2015 06:23 AM, Michal Kazior wrote:
> Apparently firmware requires both pairwise and
> groupwise keys to be installed per-peer for static
> WEP in IBSS. This wasn't necessary for AP mode
> (and installing both doesn't seem to break AP
> mode thus there's no special handling).
>
> Also there seems to be some kind of issue with
> mapping tx/rx keys in firmware properly which
> resulted in wrong keys being used and broken
> communication between devices.
>
> It can be argued the vdev param part is more of a
> workaround than a real fix. However I couldn't
> figure out how to fix this differently. It works
> and isn't super ugly.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
> ---
> drivers/net/wireless/ath/ath10k/mac.c | 31 ++++++++++++++++++++++++++++---
> 1 file changed, 28 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index 6664bcc9ba88..93f753cb839a 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -230,9 +230,13 @@ static int ath10k_install_peer_wep_keys(struct ath10k_vif *arvif,
> flags = 0;
> flags |= WMI_KEY_PAIRWISE;
>
> - /* set TX_USAGE flag for default key id */
> - if (arvif->def_wep_key_idx == i)
> - flags |= WMI_KEY_TX_USAGE;
> + ret = ath10k_install_key(arvif, arvif->wep_keys[i], SET_KEY,
> + addr, flags);
> + if (ret)
> + return ret;
> +
> + flags = 0;
> + flags |= WMI_KEY_GROUP;
That could be a single assigment to WMI_KEY_GROUP?
Also, this does not merge cleanly with my 4.0 tree,
but I'm not using WEP anyway, so no big deal...
Thanks,
Ben
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list