All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mac80211: don't look at the PM bit of BAR frames
@ 2017-06-08 11:00 Emmanuel Grumbach
  2017-06-20 21:57 ` Igor Mitsyanko
  0 siblings, 1 reply; 3+ messages in thread
From: Emmanuel Grumbach @ 2017-06-08 11:00 UTC (permalink / raw)
  To: johannes; +Cc: linux-wireless, Emmanuel Grumbach

When a peer sends a BAR frame with PM bit clear, we should
not modify its PM state as madated by the spec in
802.11-20012 10.2.1.2.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
---
 net/mac80211/rx.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index e48724a6725e..bb1e4bbf55e2 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1558,12 +1558,16 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
 	 */
 	if (!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS) &&
 	    !ieee80211_has_morefrags(hdr->frame_control) &&
+	    !ieee80211_is_back_req(hdr->frame_control) &&
 	    !(status->rx_flags & IEEE80211_RX_DEFERRED_RELEASE) &&
 	    (rx->sdata->vif.type == NL80211_IFTYPE_AP ||
 	     rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
-	    /* PM bit is only checked in frames where it isn't reserved,
+	    /*
+	     * PM bit is only checked in frames where it isn't reserved,
 	     * in AP mode it's reserved in non-bufferable management frames
 	     * (cf. IEEE 802.11-2012 8.2.4.1.7 Power Management field)
+	     * BAR frames should be ignored as specified in
+	     * IEEE 802.11-2012 10.2.1.2.
 	     */
 	    (!ieee80211_is_mgmt(hdr->frame_control) ||
 	     ieee80211_is_bufferable_mmpdu(hdr->frame_control))) {
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] mac80211: don't look at the PM bit of BAR frames
  2017-06-08 11:00 [PATCH] mac80211: don't look at the PM bit of BAR frames Emmanuel Grumbach
@ 2017-06-20 21:57 ` Igor Mitsyanko
  2017-06-21  5:59   ` Grumbach, Emmanuel
  0 siblings, 1 reply; 3+ messages in thread
From: Igor Mitsyanko @ 2017-06-20 21:57 UTC (permalink / raw)
  To: emmanuel.grumbach, johannes; +Cc: linux-wireless

On 06/08/2017 04:00 AM, Emmanuel Grumbach wrote:
> When a peer sends a BAR frame with PM bit clear, we should
> not modify its PM state as madated by the spec in
> 802.11-20012 10.2.1.2.
> 
> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
>   net/mac80211/rx.c | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index e48724a6725e..bb1e4bbf55e2 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1558,12 +1558,16 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
>   	 */
>   	if (!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS) &&
>   	    !ieee80211_has_morefrags(hdr->frame_control) &&
> +	    !ieee80211_is_back_req(hdr->frame_control) &&

BTW latest spec also notes that PSPOLL frame has PM bit reserved too, 
because it may not result in ACK frame from AP.

>   	    !(status->rx_flags & IEEE80211_RX_DEFERRED_RELEASE) &&
>   	    (rx->sdata->vif.type == NL80211_IFTYPE_AP ||
>   	     rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
> -	    /* PM bit is only checked in frames where it isn't reserved,
> +	    /*
> +	     * PM bit is only checked in frames where it isn't reserved,
>   	     * in AP mode it's reserved in non-bufferable management frames
>   	     * (cf. IEEE 802.11-2012 8.2.4.1.7 Power Management field)
> +	     * BAR frames should be ignored as specified in
> +	     * IEEE 802.11-2012 10.2.1.2.

Comment placement is a little confusing IMO. Maybe move 
ieee80211_is_back_req() check to this position?

>   	     */
>   	    (!ieee80211_is_mgmt(hdr->frame_control) ||
>   	     ieee80211_is_bufferable_mmpdu(hdr->frame_control))) {
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] mac80211: don't look at the PM bit of BAR frames
  2017-06-20 21:57 ` Igor Mitsyanko
@ 2017-06-21  5:59   ` Grumbach, Emmanuel
  0 siblings, 0 replies; 3+ messages in thread
From: Grumbach, Emmanuel @ 2017-06-21  5:59 UTC (permalink / raw)
  To: Igor Mitsyanko, johannes; +Cc: linux-wireless

PiANCj4gT24gMDYvMDgvMjAxNyAwNDowMCBBTSwgRW1tYW51ZWwgR3J1bWJhY2ggd3JvdGU6DQo+
ID4gV2hlbiBhIHBlZXIgc2VuZHMgYSBCQVIgZnJhbWUgd2l0aCBQTSBiaXQgY2xlYXIsIHdlIHNo
b3VsZCBub3QgbW9kaWZ5DQo+ID4gaXRzIFBNIHN0YXRlIGFzIG1hZGF0ZWQgYnkgdGhlIHNwZWMg
aW4NCj4gPiA4MDIuMTEtMjAwMTIgMTAuMi4xLjIuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBF
bW1hbnVlbCBHcnVtYmFjaA0KPiA+IDxlbW1hbnVlbC5ncnVtYmFjaC1yYWwySlFDcmh1RUF2eHRp
dU13eDN3QHB1YmxpYy5nbWFuZS5vcmc+DQo+ID4gLS0tDQo+ID4gICBuZXQvbWFjODAyMTEvcngu
YyB8IDYgKysrKystDQo+ID4gICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRl
bGV0aW9uKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbmV0L21hYzgwMjExL3J4LmMgYi9uZXQv
bWFjODAyMTEvcnguYyBpbmRleA0KPiA+IGU0ODcyNGE2NzI1ZS4uYmIxZTRiYmY1NWUyIDEwMDY0
NA0KPiA+IC0tLSBhL25ldC9tYWM4MDIxMS9yeC5jDQo+ID4gKysrIGIvbmV0L21hYzgwMjExL3J4
LmMNCj4gPiBAQCAtMTU1OCwxMiArMTU1OCwxNiBAQCBpZWVlODAyMTFfcnhfaF9zdGFfcHJvY2Vz
cyhzdHJ1Y3QNCj4gaWVlZTgwMjExX3J4X2RhdGEgKnJ4KQ0KPiA+ICAgCSAqLw0KPiA+ICAgCWlm
ICghaWVlZTgwMjExX2h3X2NoZWNrKCZzdGEtPmxvY2FsLT5odywgQVBfTElOS19QUykgJiYNCj4g
PiAgIAkgICAgIWllZWU4MDIxMV9oYXNfbW9yZWZyYWdzKGhkci0+ZnJhbWVfY29udHJvbCkgJiYN
Cj4gPiArCSAgICAhaWVlZTgwMjExX2lzX2JhY2tfcmVxKGhkci0+ZnJhbWVfY29udHJvbCkgJiYN
Cj4gDQo+IEJUVyBsYXRlc3Qgc3BlYyBhbHNvIG5vdGVzIHRoYXQgUFNQT0xMIGZyYW1lIGhhcyBQ
TSBiaXQgcmVzZXJ2ZWQgdG9vLA0KPiBiZWNhdXNlIGl0IG1heSBub3QgcmVzdWx0IGluIEFDSyBm
cmFtZSBmcm9tIEFQLg0KDQpQUyBwb2xsIGFyZSBhbHJlYWR5IGhhbmRsZWQgYmVmb3JlIGluIHRo
ZSBmbG93IGFuZCBkb24ndCByZWFjaCB0aGlzIGNvZGUuDQoNCg0KPiANCj4gPiAgIAkgICAgIShz
dGF0dXMtPnJ4X2ZsYWdzICYgSUVFRTgwMjExX1JYX0RFRkVSUkVEX1JFTEVBU0UpICYmDQo+ID4g
ICAJICAgIChyeC0+c2RhdGEtPnZpZi50eXBlID09IE5MODAyMTFfSUZUWVBFX0FQIHx8DQo+ID4g
ICAJICAgICByeC0+c2RhdGEtPnZpZi50eXBlID09IE5MODAyMTFfSUZUWVBFX0FQX1ZMQU4pICYm
DQo+ID4gLQkgICAgLyogUE0gYml0IGlzIG9ubHkgY2hlY2tlZCBpbiBmcmFtZXMgd2hlcmUgaXQg
aXNuJ3QgcmVzZXJ2ZWQsDQo+ID4gKwkgICAgLyoNCj4gPiArCSAgICAgKiBQTSBiaXQgaXMgb25s
eSBjaGVja2VkIGluIGZyYW1lcyB3aGVyZSBpdCBpc24ndCByZXNlcnZlZCwNCj4gPiAgIAkgICAg
ICogaW4gQVAgbW9kZSBpdCdzIHJlc2VydmVkIGluIG5vbi1idWZmZXJhYmxlIG1hbmFnZW1lbnQg
ZnJhbWVzDQo+ID4gICAJICAgICAqIChjZi4gSUVFRSA4MDIuMTEtMjAxMiA4LjIuNC4xLjcgUG93
ZXIgTWFuYWdlbWVudCBmaWVsZCkNCj4gPiArCSAgICAgKiBCQVIgZnJhbWVzIHNob3VsZCBiZSBp
Z25vcmVkIGFzIHNwZWNpZmllZCBpbg0KPiA+ICsJICAgICAqIElFRUUgODAyLjExLTIwMTIgMTAu
Mi4xLjIuDQo+IA0KPiBDb21tZW50IHBsYWNlbWVudCBpcyBhIGxpdHRsZSBjb25mdXNpbmcgSU1P
LiBNYXliZSBtb3ZlDQo+IGllZWU4MDIxMV9pc19iYWNrX3JlcSgpIGNoZWNrIHRvIHRoaXMgcG9z
aXRpb24/DQo+IA0KDQpEb24ndCBrbm93LiBJdCdzIGJlZW4gbWVyZ2VkIGFscmVhZHkuIFNvIHlv
dSdkIG5lZWQgdG8gc2VuZCBhIHBhdGNoIGZpeGluZyB0aGlzIGlmIHlvdSB3YW50IDopDQo=

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-06-21  5:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-08 11:00 [PATCH] mac80211: don't look at the PM bit of BAR frames Emmanuel Grumbach
2017-06-20 21:57 ` Igor Mitsyanko
2017-06-21  5:59   ` Grumbach, Emmanuel

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.