wl12xx: don't start dev role on ibss vifs
authorEliad Peller <eliad@wizery.com>
Sun, 4 Mar 2012 08:55:45 +0000 (10:55 +0200)
committerLuciano Coelho <coelho@ti.com>
Mon, 5 Mar 2012 13:45:24 +0000 (15:45 +0200)
device role is used for scanning and sending packets
before connection. however, since we don't need to
send packets before ibss creation, there is no need
to start the device on idle-off.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c

index 418b2b82c185ba0357010cf1df8209d6e24bdb3b..93636ea84dae6ca1f0f571e40c00d46edc933b65 100644 (file)
@@ -3746,10 +3746,8 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
                        ibss_joined = true;
                } else {
                        if (test_and_clear_bit(WLVIF_FLAG_IBSS_JOINED,
-                                              &wlvif->flags)) {
+                                              &wlvif->flags))
                                wl1271_unjoin(wl, wlvif);
-                               wl12xx_start_dev(wl, wlvif);
-                       }
                }
        }
 
@@ -3767,7 +3765,7 @@ static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
                do_join = true;
        }
 
-       if (changed & BSS_CHANGED_IDLE) {
+       if (changed & BSS_CHANGED_IDLE && !is_ibss) {
                ret = wl1271_sta_handle_idle(wl, wlvif, bss_conf->idle);
                if (ret < 0)
                        wl1271_warning("idle mode change failed %d", ret);