aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/wl12xx/main.c11
-rw-r--r--drivers/net/wireless/wl12xx/scan.c2
-rw-r--r--drivers/net/wireless/wl12xx/wl12xx.h6
3 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 0da9ddc8b6cf..006e17458130 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -3525,11 +3525,12 @@ sta_not_found:
3525 /* 3525 /*
3526 * Get a template for hardware connection maintenance 3526 * Get a template for hardware connection maintenance
3527 */ 3527 */
3528 dev_kfree_skb(wl->probereq); 3528 dev_kfree_skb(wlvif->probereq);
3529 wl->probereq = wl1271_cmd_build_ap_probe_req(wl, NULL); 3529 wlvif->probereq = wl1271_cmd_build_ap_probe_req(wl,
3530 NULL);
3530 ieoffset = offsetof(struct ieee80211_mgmt, 3531 ieoffset = offsetof(struct ieee80211_mgmt,
3531 u.probe_req.variable); 3532 u.probe_req.variable);
3532 wl1271_ssid_set(vif, wl->probereq, ieoffset); 3533 wl1271_ssid_set(vif, wlvif->probereq, ieoffset);
3533 3534
3534 /* enable the connection monitoring feature */ 3535 /* enable the connection monitoring feature */
3535 ret = wl1271_acx_conn_monit_params(wl, true); 3536 ret = wl1271_acx_conn_monit_params(wl, true);
@@ -3546,8 +3547,8 @@ sta_not_found:
3546 wl->aid = 0; 3547 wl->aid = 0;
3547 3548
3548 /* free probe-request template */ 3549 /* free probe-request template */
3549 dev_kfree_skb(wl->probereq); 3550 dev_kfree_skb(wlvif->probereq);
3550 wl->probereq = NULL; 3551 wlvif->probereq = NULL;
3551 3552
3552 /* re-enable dynamic ps - just in case */ 3553 /* re-enable dynamic ps - just in case */
3553 ieee80211_enable_dyn_ps(wl->vif); 3554 ieee80211_enable_dyn_ps(wl->vif);
diff --git a/drivers/net/wireless/wl12xx/scan.c b/drivers/net/wireless/wl12xx/scan.c
index 197d2c2b1e74..e3b863b895f3 100644
--- a/drivers/net/wireless/wl12xx/scan.c
+++ b/drivers/net/wireless/wl12xx/scan.c
@@ -64,7 +64,7 @@ void wl1271_scan_complete_work(struct work_struct *work)
64 64
65 if (test_bit(WL1271_FLAG_STA_ASSOCIATED, &wl->flags)) { 65 if (test_bit(WL1271_FLAG_STA_ASSOCIATED, &wl->flags)) {
66 /* restore hardware connection monitoring template */ 66 /* restore hardware connection monitoring template */
67 wl1271_cmd_build_ap_probe_req(wl, wl->probereq); 67 wl1271_cmd_build_ap_probe_req(wl, wlvif->probereq);
68 } 68 }
69 69
70 /* return to ROC if needed */ 70 /* return to ROC if needed */
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h
index 539cf40be535..8d100561522c 100644
--- a/drivers/net/wireless/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/wl12xx/wl12xx.h
@@ -507,9 +507,6 @@ struct wl1271 {
507 507
508 bool sched_scanning; 508 bool sched_scanning;
509 509
510 /* probe-req template for the current AP */
511 struct sk_buff *probereq;
512
513 /* Our association ID */ 510 /* Our association ID */
514 u16 aid; 511 u16 aid;
515 512
@@ -641,6 +638,9 @@ struct wl12xx_vif {
641 */ 638 */
642 u32 basic_rate; 639 u32 basic_rate;
643 u32 rate_set; 640 u32 rate_set;
641
642 /* probe-req template for the current AP */
643 struct sk_buff *probereq;
644}; 644};
645 645
646static inline struct wl12xx_vif *wl12xx_vif_to_data(struct ieee80211_vif *vif) 646static inline struct wl12xx_vif *wl12xx_vif_to_data(struct ieee80211_vif *vif)