aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ibss.c
diff options
context:
space:
mode:
authorSimon Wunderlich <simon@open-mesh.com>2014-01-24 17:48:29 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-02-04 15:58:13 -0500
commit691eb61bcfa1e98bdbbd29388bc518a76ae2fdd4 (patch)
tree544ecf0150c9ba8c7d13b4fec4d5fb61aa6d0fd8 /net/mac80211/ibss.c
parentea73cbce4e1fd93113301532ad98041b119bc85a (diff)
mac80211: send ibss probe responses with noack flag
Responding to probe requests for scanning clients will often create excessive retries, as it happens quite often that the scanning client already left the channel. Therefore do it like hostapd and send probe responses for wildcard SSID only once by using the noack flag. Signed-off-by: Simon Wunderlich <simon@open-mesh.com> [fix typo & 'wildcard SSID' in commit log] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r--net/mac80211/ibss.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index a35f37980e70..531477a62f4b 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -1465,6 +1465,11 @@ static void ieee80211_rx_mgmt_probe_req(struct ieee80211_sub_if_data *sdata,
1465 memcpy(((struct ieee80211_mgmt *) skb->data)->da, mgmt->sa, ETH_ALEN); 1465 memcpy(((struct ieee80211_mgmt *) skb->data)->da, mgmt->sa, ETH_ALEN);
1466 ibss_dbg(sdata, "Sending ProbeResp to %pM\n", mgmt->sa); 1466 ibss_dbg(sdata, "Sending ProbeResp to %pM\n", mgmt->sa);
1467 IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT; 1467 IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_DONT_ENCRYPT;
1468
1469 /* avoid excessive retries for probe request to wildcard SSIDs */
1470 if (pos[1] == 0)
1471 IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_CTL_NO_ACK;
1472
1468 ieee80211_tx_skb(sdata, skb); 1473 ieee80211_tx_skb(sdata, skb);
1469} 1474}
1470 1475