wl1251: implement disconnect command properly
[pandora-kernel.git] / drivers / net / wireless / wl1251 / ps.c
index c449857..a52ff7a 100644 (file)
@@ -140,7 +140,7 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode)
                if (ret < 0)
                        return ret;
 
-               ret = wl1251_cmd_template_set(wl, CMD_DISCONNECT, NULL, 0);
+               ret = wl1251_cmd_disconnect(wl);
                if (ret < 0)
                        return ret;
                break;
@@ -177,8 +177,9 @@ int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode)
 
                break;
        }
+       if (mode != wl->station_mode)
+               wl->ps_transitioning = true;
        wl->station_mode = mode;
-       wl->ps_transitioning = true;
        wl->ps_change_jiffies = jiffies;
 
        return ret;