2009-11-16 18:55:25

by Jouni Malinen

[permalink] [raw]
Subject: [PATCH] mac80211: Do not queue Probe Request frames for station MLME

Cooked monitor interfaces cannot currently receive Probe Request
frames when the interface is in station mode. However, we do not
process Probe Request frames internally in the station MLME, so there
is no point in queueing the frame here. Remove Probe Request frames
from the queued frame list to allow cooked monitor interfaces to
receive these frames.

Signed-off-by: Jouni Malinen <[email protected]>

---
net/mac80211/mlme.c | 1 -
1 file changed, 1 deletion(-)

--- uml.orig/net/mac80211/mlme.c 2009-11-13 16:58:27.000000000 +0200
+++ uml/net/mac80211/mlme.c 2009-11-13 16:59:20.000000000 +0200
@@ -1898,7 +1898,6 @@ ieee80211_rx_result ieee80211_sta_rx_mgm
fc = le16_to_cpu(mgmt->frame_control);

switch (fc & IEEE80211_FCTL_STYPE) {
- case IEEE80211_STYPE_PROBE_REQ:
case IEEE80211_STYPE_PROBE_RESP:
case IEEE80211_STYPE_BEACON:
case IEEE80211_STYPE_AUTH:

--
Jouni Malinen PGP id EFC895FA


2009-11-16 17:57:39

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211: Do not queue Probe Request frames for station MLME

On Mon, 2009-11-16 at 19:54 +0200, Jouni Malinen wrote:
> Cooked monitor interfaces cannot currently receive Probe Request
> frames when the interface is in station mode. However, we do not
> process Probe Request frames internally in the station MLME, so there
> is no point in queueing the frame here. Remove Probe Request frames
> from the queued frame list to allow cooked monitor interfaces to
> receive these frames.
>
> Signed-off-by: Jouni Malinen <[email protected]>

It's also just unnecessary overhead to put them on the list and process
them by freeing :)

Reviewed-by: Johannes Berg <[email protected]>

>
> ---
> net/mac80211/mlme.c | 1 -
> 1 file changed, 1 deletion(-)
>
> --- uml.orig/net/mac80211/mlme.c 2009-11-13 16:58:27.000000000 +0200
> +++ uml/net/mac80211/mlme.c 2009-11-13 16:59:20.000000000 +0200
> @@ -1898,7 +1898,6 @@ ieee80211_rx_result ieee80211_sta_rx_mgm
> fc = le16_to_cpu(mgmt->frame_control);
>
> switch (fc & IEEE80211_FCTL_STYPE) {
> - case IEEE80211_STYPE_PROBE_REQ:
> case IEEE80211_STYPE_PROBE_RESP:
> case IEEE80211_STYPE_BEACON:
> case IEEE80211_STYPE_AUTH:
>


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