On 16/02/2018 17:12, Luca Coelho wrote: > - sta = sta_info_alloc(sdata, addr, GFP_ATOMIC); > - if (!sta) > - return; > > - /* make sure mandatory rates are always added */ > - sband = local->hw.wiphy->bands[band]; > - sta->sta.supp_rates[band] = supp_rates | > - ieee80211_mandatory_rates(sband, scan_width); > - > - spin_lock(&ifibss->incomplete_lock); > - list_add(&sta->list, &ifibss->incomplete_stations); > - spin_unlock(&ifibss->incomplete_lock); > - ieee80211_queue_work(&local->hw, &sdata->work); > + ieee80211_send_probe_req(sdata, sdata->vif.addr, addr, > + sdata->u.ibss.ssid, sdata->u.ibss.ssid_len, > + NULL, 0, (u32)-1, true, 0, > + chanctx_conf->def.chan, false); > + rcu_read_unlock(); > }
Won't that spam the channel with probe request if the traffic from the other station is heavy ? And, if the other station is running the same code and didn't know about us (e.g. at join time), won't it also spam the channel with probe requests after receiving our many probe requests ? (as well as the probe responses from both stations) Obviously it should stop after receiving a probe response... But what if the link is badly asymmetric ?