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 418b2b8..93636ea 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);