From: Eliad Peller <eliad@wizery.com>
Date: Wed, 5 Oct 2011 09:56:01 +0000 (+0200)
Subject: wl12xx: move ps_compl into wlvif
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6ec45dc282f6983d5685758c5e8993bc2c818d3c;p=linux.git

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 4e3474c11e05a..7a9913a3f71c1 100644
--- a/drivers/net/wireless/wl12xx/event.c
+++ b/drivers/net/wireless/wl12xx/event.c
@@ -149,9 +149,9 @@ static int wl1271_event_ps_report(struct wl1271 *wl,
 			/* 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 76f466380667f..cb2355354bf00 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -1636,7 +1636,7 @@ static int wl1271_configure_suspend_sta(struct wl1271 *wl,
 	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 d6d5a7bff3158..7166a79e00e40 100644
--- a/drivers/net/wireless/wl12xx/wl12xx.h
+++ b/drivers/net/wireless/wl12xx/wl12xx.h
@@ -509,7 +509,6 @@ struct wl1271 {
 	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 @@ struct wl12xx_vif {
 	/* Session counter for the chipset */
 	int session_counter;
 
+	struct completion *ps_compl;
 	struct delayed_work pspoll_work;
 };