wlcore: don't attempt to roam in case of p2p
authorEyal Shapira <eyal@wizery.com>
Tue, 12 Mar 2013 15:19:41 +0000 (17:19 +0200)
committerLuciano Coelho <coelho@ti.com>
Mon, 25 Mar 2013 10:33:12 +0000 (12:33 +0200)
For STA we report beacon loss to higher levels so that wpa_s
can attempt to roam without disconnecting. In case of P2P CLI
we don't want to attempt roaming and instead disconnect immediately
upon beacon loss.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/ti/wlcore/event.c

index 70f289a..67f6168 100644 (file)
@@ -237,6 +237,14 @@ void wlcore_event_beacon_loss(struct wl1271 *wl, unsigned long roles_bitmap)
                    !test_bit(wlvif->role_id , &roles_bitmap))
                        continue;
 
+               vif = wl12xx_wlvif_to_vif(wlvif);
+
+               /* don't attempt roaming in case of p2p */
+               if (wlvif->p2p) {
+                       ieee80211_connection_loss(vif);
+                       continue;
+               }
+
                /*
                 * if the work is already queued, it should take place.
                 * We don't want to delay the connection loss
@@ -246,7 +254,6 @@ void wlcore_event_beacon_loss(struct wl1271 *wl, unsigned long roles_bitmap)
                                             &wlvif->connection_loss_work,
                                             msecs_to_jiffies(delay));
 
-               vif = wl12xx_wlvif_to_vif(wlvif);
                ieee80211_cqm_rssi_notify(
                                vif,
                                NL80211_CQM_RSSI_BEACON_LOSS_EVENT,