linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mac80211: double processing of probe response frames ?
@ 2014-02-26 16:49 Jean-Pierre Tosoni
  2014-02-27 16:40 ` Johannes Berg
  0 siblings, 1 reply; 2+ messages in thread
From: Jean-Pierre Tosoni @ 2014-02-26 16:49 UTC (permalink / raw)
  To: linux-wireless

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 ?

I am using compat-wireless-2013-04-16.


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: mac80211: double processing of probe response frames ?
  2014-02-26 16:49 mac80211: double processing of probe response frames ? Jean-Pierre Tosoni
@ 2014-02-27 16:40 ` Johannes Berg
  0 siblings, 0 replies; 2+ messages in thread
From: Johannes Berg @ 2014-02-27 16:40 UTC (permalink / raw)
  To: Jean-Pierre Tosoni; +Cc: linux-wireless

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-02-27 16:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-26 16:49 mac80211: double processing of probe response frames ? Jean-Pierre Tosoni
2014-02-27 16:40 ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).