2008-10-23 20:10:59

by Andrey Yurovsky

[permalink] [raw]
Subject: [PATCH] mac80211: allow all interfaces types to handle RX action frames

Eliminate the vif.type check in ieee80211_rx_h_action. This check is
unnecessary (these action frames can be handled by all interface types) and
currently prevents, for example, AP interfaces from handling BACK action frames
such as ADDBA and DELBA requests.

Signed-off-by: Andrey Yurovsky <[email protected]>
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index a0db162..59bcbb6 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1552,14 +1552,6 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
if (len < IEEE80211_MIN_ACTION_SIZE + 1)
return RX_DROP_MONITOR;

- /*
- * FIXME: revisit this, I'm sure we should handle most
- * of these frames in other modes as well!
- */
- if (sdata->vif.type != NL80211_IFTYPE_STATION &&
- sdata->vif.type != NL80211_IFTYPE_ADHOC)
- return RX_CONTINUE;
-
switch (mgmt->u.action.category) {
case WLAN_CATEGORY_BACK:
switch (mgmt->u.action.u.addba_req.action_code) {




2008-10-24 09:52:45

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: allow all interfaces types to handle RX action frames

On Thu, 2008-10-23 at 13:10 -0700, Andrey Yurovsky wrote:
> Eliminate the vif.type check in ieee80211_rx_h_action. This check is
> unnecessary (these action frames can be handled by all interface types) and
> currently prevents, for example, AP interfaces from handling BACK action frames
> such as ADDBA and DELBA requests.
>
> Signed-off-by: Andrey Yurovsky <[email protected]>

Fine with me.
Acked-by: Johannes Berg <[email protected]>

> diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
> index a0db162..59bcbb6 100644
> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1552,14 +1552,6 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
> if (len < IEEE80211_MIN_ACTION_SIZE + 1)
> return RX_DROP_MONITOR;
>
> - /*
> - * FIXME: revisit this, I'm sure we should handle most
> - * of these frames in other modes as well!
> - */
> - if (sdata->vif.type != NL80211_IFTYPE_STATION &&
> - sdata->vif.type != NL80211_IFTYPE_ADHOC)
> - return RX_CONTINUE;
> -
> switch (mgmt->u.action.category) {
> case WLAN_CATEGORY_BACK:
> switch (mgmt->u.action.u.addba_req.action_code) {
>
>
>


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part