From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Fietkau Date: Mon, 15 Jun 2015 13:46:55 +0200 Subject: [ath9k-devel] [RFC] ath9k: allow to receive probe request when offchannel In-Reply-To: <1433912583-15918-1-git-send-email-janusz.dziedzic@tieto.com> References: <1433912583-15918-1-git-send-email-janusz.dziedzic@tieto.com> Message-ID: <557EBB2F.8000503@openwrt.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org On 2015-06-10 07:03, Janusz Dziedzic wrote: > This fix problem that p2p group negotiation didn't work > correctly when chanctx used, because we didn't receive > probe requests when offchannel and use_chanctx=1 > > Signed-off-by: Janusz Dziedzic > --- > @Felix, Sujith could you review? I am not sure I put this in correct place. > > drivers/net/wireless/ath/ath9k/channel.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath9k/channel.c b/drivers/net/wireless/ath/ath9k/channel.c > index 2066650..6301d44 100644 > --- a/drivers/net/wireless/ath/ath9k/channel.c > +++ b/drivers/net/wireless/ath/ath9k/channel.c > @@ -1157,6 +1157,7 @@ static bool ath_chanctx_defer_switch(struct ath_softc *sc) > static void ath_offchannel_channel_change(struct ath_softc *sc) > { > struct ath_common *common = ath9k_hw_common(sc->sc_ah); > + u32 rfilt; > > ath_dbg(common, CHAN_CTX, "%s: offchannel state: %s\n", > __func__, offchannel_state_string(sc->offchannel.state)); > @@ -1179,6 +1180,11 @@ static void ath_offchannel_channel_change(struct ath_softc *sc) > ath_scan_complete(sc, false); > break; > case ATH_OFFCHANNEL_ROC_START: > + /* Allow to receive probe requests */ > + rfilt = ath_calcrxfilter(sc); > + rfilt |= ATH9K_RX_FILTER_PROBEREQ; I think ath_calcrxfilter should set this, otherwise it might be overwritten, e.g. on BB watchdog reset. - Felix