wl1251: move wl1251_acx_wake_up_conditions() to wl1251_ps_set_mode()
authorKalle Valo <kalle.valo@nokia.com>
Fri, 7 Aug 2009 10:34:56 +0000 (13:34 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 14 Aug 2009 13:13:41 +0000 (09:13 -0400)
It should not be hidden inside wl1251_cmd_ps_mode().

Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Reviewed-by: Vidhya Govindan <vidhya.govindan@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/wl12xx/wl1251_cmd.c
drivers/net/wireless/wl12xx/wl1251_ps.c

index d7800a39f7d46217ab55aa954e0dd7670fe764e7..74ea1fdf9bd5a057c68c9435c2bdcc0f7b505c64 100644 (file)
@@ -301,14 +301,6 @@ int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode)
        struct wl1251_cmd_ps_params *ps_params = NULL;
        int ret = 0;
 
-       /* FIXME: this should be in ps.c */
-       ret = wl1251_acx_wake_up_conditions(wl, WAKE_UP_EVENT_DTIM_BITMAP,
-                                           wl->listen_int);
-       if (ret < 0) {
-               wl1251_error("couldn't set wake up conditions");
-               goto out;
-       }
-
        wl1251_debug(DEBUG_CMD, "cmd set ps mode");
 
        ps_params = kzalloc(sizeof(*ps_params), GFP_KERNEL);
index 05816778f3dbed1b3e87589ebdcc38e0984fac8d..36acde0b3bd16d3b828c0713b52d07985af6e9ac 100644 (file)
@@ -118,6 +118,13 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
        switch (mode) {
        case STATION_POWER_SAVE_MODE:
                wl1251_debug(DEBUG_PSM, "entering psm");
+
+               ret = wl1251_acx_wake_up_conditions(wl,
+                                                   WAKE_UP_EVENT_DTIM_BITMAP,
+                                                   wl->listen_int);
+               if (ret < 0)
+                       return ret;
+
                ret = wl1251_cmd_ps_mode(wl, STATION_POWER_SAVE_MODE);
                if (ret < 0)
                        return ret;
@@ -135,6 +142,12 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_cmd_ps_mode mode)
                if (ret < 0)
                        return ret;
 
+               ret = wl1251_acx_wake_up_conditions(wl,
+                                                   WAKE_UP_EVENT_DTIM_BITMAP,
+                                                   wl->listen_int);
+               if (ret < 0)
+                       return ret;
+
                ret = wl1251_cmd_ps_mode(wl, STATION_ACTIVE_MODE);
                if (ret < 0)
                        return ret;