On Tue, Feb 1, 2011 at 6:19 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > At least the WMM spec says we should reply to > unicast probe request frames that go to us. > > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > --- > net/mac80211/ibss.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- wireless-testing.orig/net/mac80211/ibss.c 2011-02-01 12:58:16.000000000 +0100 > +++ wireless-testing/net/mac80211/ibss.c 2011-02-01 13:47:44.000000000 +0100 > @@ -689,7 +689,7 @@ static void ieee80211_rx_mgmt_probe_req( > mgmt->bssid, tx_last_beacon); > #endif /* CONFIG_MAC80211_IBSS_DEBUG */ > > - if (!tx_last_beacon) > + if (!tx_last_beacon && !(status->rx_flags & IEEE80211_RX_RA_MATCH)) > return; > > if (memcmp(mgmt->bssid, ifibss->bssid, ETH_ALEN) != 0 && Hi Johannes, tested with the same thing (in addition of passing the rx_status structure) and it is working fine. diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 775fb63..d26bd22 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c @@ -665,7 +665,8 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata) static void ieee80211_rx_mgmt_probe_req(struct ieee80211_sub_if_data *sdata, struct ieee80211_mgmt *mgmt, - size_t len) + size_t len, + struct ieee80211_rx_status *rx_status) { struct ieee80211_if_ibss *ifibss = &sdata->u.ibss; struct ieee80211_local *local = sdata->local; @@ -689,7 +690,7 @@ static void ieee80211_rx_mgmt_probe_req(struct ieee80211_sub_if_data *sdata, mgmt->bssid, tx_last_beacon); #endif /* CONFIG_MAC80211_IBSS_DEBUG */ - if (!tx_last_beacon) + if (!tx_last_beacon && !(rx_status->rx_flags & IEEE80211_RX_RA_MATCH)) return; if (memcmp(mgmt->bssid, ifibss->bssid, ETH_ALEN) != 0 && @@ -786,7 +787,8 @@ void ieee80211_ibss_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, switch (fc & IEEE80211_FCTL_STYPE) { case IEEE80211_STYPE_PROBE_REQ: - ieee80211_rx_mgmt_probe_req(sdata, mgmt, skb->len); + ieee80211_rx_mgmt_probe_req(sdata, mgmt, skb->len, + rx_status); break; case IEEE80211_STYPE_PROBE_RESP: ieee80211_rx_mgmt_probe_resp(sdata, mgmt, skb->len, ~ thanks, shafi > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html