Whenever the reset work is queued up, do not generate beacon. And also
clear the beacon miss count once the beacon stuck was observed.
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
        int slot;
        u32 bfaddr, bc = 0;
 
+       if (work_pending(&sc->hw_reset_work)) {
+               ath_dbg(common, RESET,
+                       "reset work is pending, skip beaconing now\n");
+               return;
+       }
        /*
         * Check if the previous beacon has gone out.  If
         * not don't try to post another, skip this period
                                ath9k_hw_bstuck_nfcal(ah);
                } else if (sc->beacon.bmisscnt >= BSTUCK_THRESH) {
                        ath_dbg(common, BSTUCK, "beacon is officially stuck\n");
+                       sc->beacon.bmisscnt = 0;
                        sc->sc_flags |= SC_OP_TSF_RESET;
                        ieee80211_queue_work(sc->hw, &sc->hw_reset_work);
                }