On Wed, 2014-02-26 at 17:49 +0100, Jean-Pierre Tosoni wrote: > Hi all, > > I am using mac80211 and ath9k. > I put a debug trace in the net/wireless/scan.c, in > cfg80211_inform_bss_frame(). > I exercise scanning with wpa_supplicant and I monitor the air with > wireshark/airpcapN. > Each time a probe response frame is received, I can see that > cfg80211_inform_bss_frame() is called *twice.* > > I wonder if this is really needed ? Is it possible to remove one of the > calls ? > > AFAICT, mac80211/scan.c/ieee80211_bss_info_update() is called along two > paths, > 1) in mac80211/rx.c, from __ieee80211_rx_handle_packet() and > ieee80211_scan_rx() > 2) in mac80211/mlme.c, from the work queue calling > ieee80211_sta_rx_queued_mgmt() > => ieee80211_rx_mgmt_probe_resp() => ieee80211_rx_bss_info() > > Maybe part of the call to ieee80211_scan_rx() could be delayed and merged > later when ieee80211_rx_mgmt_probe_resp() is called ? Any comments ? Not easily - the latter call is very much filtered. However, the scan_rx() one should only do something during scan, I believe, and the other *not* during scan? johannes -- 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