wl12xx: move ps_compl into wlvif
move ps_compl into the per-interface data, rather than
being global.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
diff --git a/drivers/net/wireless/wl12xx/event.c b/drivers/net/wireless/wl12xx/event.c
index 4e3474c1..7a9913a 100644
--- a/drivers/net/wireless/wl12xx/event.c
+++ b/drivers/net/wireless/wl12xx/event.c
@@ -149,9 +149,9 @@
/* enable beacon early termination */
ret = wl1271_acx_bet_enable(wl, wlvif, true);
- if (wl->ps_compl) {
- complete(wl->ps_compl);
- wl->ps_compl = NULL;
+ if (wlvif->ps_compl) {
+ complete(wlvif->ps_compl);
+ wlvif->ps_compl = NULL;
}
break;
default:
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 76f4663..cb23553 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -1636,7 +1636,7 @@
if (!test_bit(WL1271_FLAG_PSM, &wl->flags)) {
DECLARE_COMPLETION_ONSTACK(compl);
- wl->ps_compl = &compl;
+ wlvif->ps_compl = &compl;
ret = wl1271_ps_set_mode(wl, wlvif, STATION_POWER_SAVE_MODE,
wlvif->basic_rate, true);
if (ret < 0)
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h
index d6d5a7b..7166a79 100644
--- a/drivers/net/wireless/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/wl12xx/wl12xx.h
@@ -509,7 +509,6 @@
struct timer_list rx_streaming_timer;
struct completion *elp_compl;
- struct completion *ps_compl;
struct delayed_work elp_work;
/* counter for ps-poll delivery failures */
@@ -651,6 +650,7 @@
/* Session counter for the chipset */
int session_counter;
+ struct completion *ps_compl;
struct delayed_work pspoll_work;
};