diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-04-18 07:15:26 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-05-02 03:31:18 -0400 |
commit | c45a85b5a3c0ca841a7ffc700bdece8ee01486be (patch) | |
tree | 64956d8baafc9e746ca22d7d2162f48d5d046066 | |
parent | 70f474241b3d5fb633635a2ce39ea9da4afeea6c (diff) |
wl12xx: AP-mode - reconfigure templates after basic rates change
When there's a change in the basic rates of the AP, reconfigure relevant
templates with the new rates.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
-rw-r--r-- | drivers/net/wireless/wl12xx/init.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/init.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 4 |
3 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/init.c b/drivers/net/wireless/wl12xx/init.c index 5d0ecd2018bf..b1242a6de27b 100644 --- a/drivers/net/wireless/wl12xx/init.c +++ b/drivers/net/wireless/wl12xx/init.c | |||
@@ -443,7 +443,7 @@ static int wl1271_ap_hw_init(struct wl1271 *wl) | |||
443 | return 0; | 443 | return 0; |
444 | } | 444 | } |
445 | 445 | ||
446 | static int wl1271_ap_hw_init_post_mem(struct wl1271 *wl) | 446 | int wl1271_ap_init_templates(struct wl1271 *wl) |
447 | { | 447 | { |
448 | int ret; | 448 | int ret; |
449 | 449 | ||
@@ -470,6 +470,11 @@ static int wl1271_ap_hw_init_post_mem(struct wl1271 *wl) | |||
470 | return 0; | 470 | return 0; |
471 | } | 471 | } |
472 | 472 | ||
473 | static int wl1271_ap_hw_init_post_mem(struct wl1271 *wl) | ||
474 | { | ||
475 | return wl1271_ap_init_templates(wl); | ||
476 | } | ||
477 | |||
473 | int wl1271_init_ap_rates(struct wl1271 *wl) | 478 | int wl1271_init_ap_rates(struct wl1271 *wl) |
474 | { | 479 | { |
475 | int i, ret; | 480 | int i, ret; |
diff --git a/drivers/net/wireless/wl12xx/init.h b/drivers/net/wireless/wl12xx/init.h index 0dd2414a30d1..3a3c230fd292 100644 --- a/drivers/net/wireless/wl12xx/init.h +++ b/drivers/net/wireless/wl12xx/init.h | |||
@@ -34,5 +34,6 @@ int wl1271_init_energy_detection(struct wl1271 *wl); | |||
34 | int wl1271_chip_specific_init(struct wl1271 *wl); | 34 | int wl1271_chip_specific_init(struct wl1271 *wl); |
35 | int wl1271_hw_init(struct wl1271 *wl); | 35 | int wl1271_hw_init(struct wl1271 *wl); |
36 | int wl1271_init_ap_rates(struct wl1271 *wl); | 36 | int wl1271_init_ap_rates(struct wl1271 *wl); |
37 | int wl1271_ap_init_templates(struct wl1271 *wl); | ||
37 | 38 | ||
38 | #endif | 39 | #endif |
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index e9d4cf48ba35..433bc035741a 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c | |||
@@ -2503,6 +2503,10 @@ static void wl1271_bss_info_changed_ap(struct wl1271 *wl, | |||
2503 | wl1271_error("AP rate policy change failed %d", ret); | 2503 | wl1271_error("AP rate policy change failed %d", ret); |
2504 | goto out; | 2504 | goto out; |
2505 | } | 2505 | } |
2506 | |||
2507 | ret = wl1271_ap_init_templates(wl); | ||
2508 | if (ret < 0) | ||
2509 | goto out; | ||
2506 | } | 2510 | } |
2507 | 2511 | ||
2508 | ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed); | 2512 | ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed); |