* [RFC] ath9k: allow to receive probe request when offchannel
@ 2015-06-10 5:03 ` Janusz Dziedzic
0 siblings, 0 replies; 8+ messages in thread
From: Janusz Dziedzic @ 2015-06-10 5:03 UTC (permalink / raw)
To: linux-wireless; +Cc: ath9k-devel, nbd, c_manoha, Janusz Dziedzic
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 <janusz.dziedzic@tieto.com>
---
@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;
+ ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
+
if (sc->cur_chan != &sc->offchannel.chan)
break;
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [ath9k-devel] [RFC] ath9k: allow to receive probe request when offchannel
@ 2015-06-10 5:03 ` Janusz Dziedzic
0 siblings, 0 replies; 8+ messages in thread
From: Janusz Dziedzic @ 2015-06-10 5:03 UTC (permalink / raw)
To: ath9k-devel
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 <janusz.dziedzic@tieto.com>
---
@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;
+ ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
+
if (sc->cur_chan != &sc->offchannel.chan)
break;
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [RFC] ath9k: allow to receive probe request when offchannel
2015-06-10 5:03 ` [ath9k-devel] " Janusz Dziedzic
@ 2015-06-15 11:39 ` Janusz Dziedzic
-1 siblings, 0 replies; 8+ messages in thread
From: Janusz Dziedzic @ 2015-06-15 11:39 UTC (permalink / raw)
To: linux-wireless
Cc: ath9k-devel, Felix Fietkau, Janusz Dziedzic, Sujith Manoharan
adding Sujith correct mail
On 10 June 2015 at 07:03, Janusz Dziedzic <janusz.dziedzic@tieto.com> 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 <janusz.dziedzic@tieto.com>
> ---
> @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;
> + ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
> +
> if (sc->cur_chan != &sc->offchannel.chan)
> break;
>
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [ath9k-devel] [RFC] ath9k: allow to receive probe request when offchannel
@ 2015-06-15 11:39 ` Janusz Dziedzic
0 siblings, 0 replies; 8+ messages in thread
From: Janusz Dziedzic @ 2015-06-15 11:39 UTC (permalink / raw)
To: ath9k-devel
adding Sujith correct mail
On 10 June 2015 at 07:03, Janusz Dziedzic <janusz.dziedzic@tieto.com> 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 <janusz.dziedzic@tieto.com>
> ---
> @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;
> + ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
> +
> if (sc->cur_chan != &sc->offchannel.chan)
> break;
>
> --
> 1.9.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ath9k: allow to receive probe request when offchannel
2015-06-10 5:03 ` [ath9k-devel] " Janusz Dziedzic
@ 2015-06-15 11:46 ` Felix Fietkau
-1 siblings, 0 replies; 8+ messages in thread
From: Felix Fietkau @ 2015-06-15 11:46 UTC (permalink / raw)
To: Janusz Dziedzic, linux-wireless; +Cc: ath9k-devel, c_manoha
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 <janusz.dziedzic@tieto.com>
> ---
> @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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [ath9k-devel] [RFC] ath9k: allow to receive probe request when offchannel
@ 2015-06-15 11:46 ` Felix Fietkau
0 siblings, 0 replies; 8+ messages in thread
From: Felix Fietkau @ 2015-06-15 11:46 UTC (permalink / raw)
To: ath9k-devel
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 <janusz.dziedzic@tieto.com>
> ---
> @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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC] ath9k: allow to receive probe request when offchannel
2015-06-15 11:39 ` [ath9k-devel] " Janusz Dziedzic
@ 2015-06-15 12:25 ` Sujith Manoharan
-1 siblings, 0 replies; 8+ messages in thread
From: Sujith Manoharan @ 2015-06-15 12:25 UTC (permalink / raw)
To: Janusz Dziedzic; +Cc: linux-wireless, ath9k-devel, Felix Fietkau
Janusz Dziedzic wrote:
> > case ATH_OFFCHANNEL_ROC_START:
> > + /* Allow to receive probe requests */
> > + rfilt = ath_calcrxfilter(sc);
> > + rfilt |= ATH9K_RX_FILTER_PROBEREQ;
> > + ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
> > +
ath9k_set_offchannel_state() would be a better place to do this,
since setting up various bits in the HW for offchannel operation
is done there. Also, it would make sure that the HW state is
retained when a chip reset is done for some reason.
Sujith
^ permalink raw reply [flat|nested] 8+ messages in thread
* [ath9k-devel] [RFC] ath9k: allow to receive probe request when offchannel
@ 2015-06-15 12:25 ` Sujith Manoharan
0 siblings, 0 replies; 8+ messages in thread
From: Sujith Manoharan @ 2015-06-15 12:25 UTC (permalink / raw)
To: ath9k-devel
Janusz Dziedzic wrote:
> > case ATH_OFFCHANNEL_ROC_START:
> > + /* Allow to receive probe requests */
> > + rfilt = ath_calcrxfilter(sc);
> > + rfilt |= ATH9K_RX_FILTER_PROBEREQ;
> > + ath9k_hw_setrxfilter(sc->sc_ah, rfilt);
> > +
ath9k_set_offchannel_state() would be a better place to do this,
since setting up various bits in the HW for offchannel operation
is done there. Also, it would make sure that the HW state is
retained when a chip reset is done for some reason.
Sujith
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-06-15 12:25 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-10 5:03 [RFC] ath9k: allow to receive probe request when offchannel Janusz Dziedzic
2015-06-10 5:03 ` [ath9k-devel] " Janusz Dziedzic
2015-06-15 11:39 ` Janusz Dziedzic
2015-06-15 11:39 ` [ath9k-devel] " Janusz Dziedzic
2015-06-15 12:25 ` Sujith Manoharan
2015-06-15 12:25 ` [ath9k-devel] " Sujith Manoharan
2015-06-15 11:46 ` Felix Fietkau
2015-06-15 11:46 ` [ath9k-devel] " Felix Fietkau
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.