ath9k: Fix channel context timer
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Wed, 27 Aug 2014 06:37:25 +0000 (12:07 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 28 Aug 2014 18:50:13 +0000 (14:50 -0400)
Setup the channel context correctly. Not doing this was
causing beacon loss in a P2P-GO/STA concurrent setup.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/channel.c

index f8f47571d98c94f267b95911ab4ab22941f8abb3..409f912a67c7c2b760f90ce2c473fbd716566be3 100644 (file)
@@ -294,7 +294,7 @@ static void ath_chanctx_setup_timer(struct ath_softc *sc, u32 tsf_time)
        ath9k_hw_gen_timer_start(ah, sc->p2p_ps_timer, tsf_time, 1000000);
        tsf_time -= ath9k_hw_gettsf32(ah);
        tsf_time = msecs_to_jiffies(tsf_time / 1000) + 1;
-       mod_timer(&sc->sched.timer, tsf_time);
+       mod_timer(&sc->sched.timer, jiffies + tsf_time);
 
        ath_dbg(common, CHAN_CTX,
                "Setup chanctx timer with timeout: %d ms\n", jiffies_to_msecs(tsf_time));