diff options
author | Eliad Peller <eliad@wizery.com> | 2012-02-02 12:22:09 +0200 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2012-02-15 08:38:34 +0200 |
commit | 5ec8a448e0e978103bc5ca7136084b5e2b36989e (patch) | |
tree | 9b171398637871b562608a656bed6092999a96d1 /drivers/net/wireless/wl12xx/init.c | |
parent | 20ae7e5e4b13937da6882bf84b080eb31feb9a7b (diff) | |
download | linux-5ec8a448e0e978103bc5ca7136084b5e2b36989e.tar.bz2 |
wl12xx: consider encryption and QoS in auto arp template
When configuring the arp response template,
and encryption is enabled, we should add some
space and set the protected flag bit in the fc.
In order to track the encryption type, set
wlvif->encryption_type when setting an encryption key,
and reconfigure the arp response. Clear this field on
wl1271_join, as keys have to be re-configured
anyway after a join command.
Similarly, track whether QoS is configured.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/init.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/init.c b/drivers/net/wireless/wl12xx/init.c index fcf2b128f9a4..acc03799fc66 100644 --- a/drivers/net/wireless/wl12xx/init.c +++ b/drivers/net/wireless/wl12xx/init.c @@ -37,6 +37,7 @@ int wl1271_init_templates_config(struct wl1271 *wl) { int ret, i; + size_t max_size; /* send empty templates for fw memory reservation */ ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, @@ -89,10 +90,11 @@ int wl1271_init_templates_config(struct wl1271 *wl) if (ret < 0) return ret; + max_size = sizeof(struct wl12xx_arp_rsp_template) + + WL1271_EXTRA_SPACE_MAX; ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, CMD_TEMPL_ARP_RSP, NULL, - sizeof - (struct wl12xx_arp_rsp_template), + max_size, 0, WL1271_RATE_AUTOMATIC); if (ret < 0) return ret; |