Author: adrian
Date: Sun May  3 23:24:20 2015
New Revision: 282389
URL: https://svnweb.freebsd.org/changeset/base/282389

Log:
  Limit minimum threshold of missed beacons.
  
  PR:           kern/197143
  Submitted by:  Andriy Voskoboinyk <s3er...@gmail.com>

Modified:
  head/sys/dev/wpi/if_wpi.c

Modified: head/sys/dev/wpi/if_wpi.c
==============================================================================
--- head/sys/dev/wpi/if_wpi.c   Sun May  3 23:21:16 2015        (r282388)
+++ head/sys/dev/wpi/if_wpi.c   Sun May  3 23:24:20 2015        (r282389)
@@ -2115,7 +2115,7 @@ wpi_notif_intr(struct wpi_softc *sc)
                {
                        struct wpi_beacon_missed *miss =
                            (struct wpi_beacon_missed *)(desc + 1);
-                       uint32_t expected, misses, received;
+                       uint32_t expected, misses, received, threshold;
 
                        bus_dmamap_sync(sc->rxq.data_dmat, data->map,
                            BUS_DMASYNC_POSTREAD);
@@ -2123,6 +2123,7 @@ wpi_notif_intr(struct wpi_softc *sc)
                        misses = le32toh(miss->consecutive);
                        expected = le32toh(miss->expected);
                        received = le32toh(miss->received);
+                       threshold = MAX(2, vap->iv_bmissthreshold);
 
                        DPRINTF(sc, WPI_DEBUG_BMISS,
                            "%s: beacons missed %d/%d\n", __func__, misses,
@@ -2130,9 +2131,8 @@ wpi_notif_intr(struct wpi_softc *sc)
 
                        if (vap->iv_state == IEEE80211_S_RUN &&
                            (ic->ic_flags & IEEE80211_F_SCAN) == 0 &&
-                           (misses >= vap->iv_bmissthreshold ||
-                           (received == 0 &&
-                           expected >= vap->iv_bmissthreshold)))
+                           (misses >= threshold ||
+                           (received == 0 && expected >= threshold)))
                                ieee80211_beacon_miss(ic);
 
                        break;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to