+++ /dev/null
---- a/ath/if_ath.c
-+++ b/ath/if_ath.c
-@@ -354,6 +354,7 @@
- static int ath_outdoor = AH_FALSE; /* enable outdoor use */
- static int ath_xchanmode = AH_TRUE; /* enable extended channels */
- static int ath_maxvaps = ATH_MAXVAPS_DEFAULT; /* set default maximum vaps */
-+static int bstuck_thresh = BSTUCK_THRESH; /* Stuck beacon count required for reset */
- static char *autocreate = "sta";
- static char *ratectl = DEF_RATE_CTL;
- static int rfkill = 0;
-@@ -397,6 +398,7 @@
- #ifdef ATH_CAP_TPC
- MODULE_PARM(hal_tpc, "i");
- #endif
-+MODULE_PARM(bstuck_thresh, "i");
- MODULE_PARM(autocreate, "s");
- MODULE_PARM(ratectl, "s");
- #else
-@@ -410,6 +412,7 @@
- #ifdef ATH_CAP_TPC
- module_param(hal_tpc, int, 0600);
- #endif
-+module_param(bstuck_thresh, int, 0600);
- module_param(autocreate, charp, 0600);
- module_param(ratectl, charp, 0600);
- #endif
-@@ -422,6 +425,7 @@
- MODULE_PARM_DESC(hal_tpc, "Disables manual per-packet transmit power control and "
- "lets this be managed by the HAL. Default is OFF.");
- #endif
-+MODULE_PARM_DESC(bstuck_thresh, "Override default stuck beacon threshold");
- MODULE_PARM_DESC(autocreate, "Create ath device in "
- "[sta|ap|wds|adhoc|ahdemo|monitor] mode. defaults to sta, use "
- "'none' to disable");
-@@ -5239,7 +5243,7 @@
- DPRINTF(sc, ATH_DEBUG_BEACON_PROC,
- "Missed %u consecutive beacons (n_beacon=%u)\n",
- sc->sc_bmisscount, n_beacon);
-- if (sc->sc_bmisscount > BSTUCK_THRESH)
-+ if (sc->sc_bmisscount > bstuck_thresh)
- ATH_SCHEDULE_TQUEUE(&sc->sc_bstucktq, needmark);
- return;
- }
-@@ -5410,7 +5414,7 @@
- * check will be true, in which case return
- * without resetting the driver.
- */
-- if (sc->sc_bmisscount <= BSTUCK_THRESH)
-+ if (sc->sc_bmisscount <= bstuck_thresh)
- return;
- EPRINTF(sc, "Stuck beacon; resetting (beacon miss count: %u)\n",
- sc->sc_bmisscount);