Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / ti / wlcore / event.c
index 70f289aa1bc6dd8f7991fae5eacf958e35b6d4f2..67f61689b49edcba1e54198db538eb277aa4bda0 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,