hostap

Ben Greear greearb at candelatech.com
Tue May 30 14:44:12 PDT 2017


Hello,

In wpa_supplicant/events.c, there is code similar to this below.

Is there any reason 'ret = 1' other than some drivers may have issues
with multiple association attempts?  I am pretty sure that I used to
bring up many ath9k and ath10k station vdevs at once, so maybe
this is just for Intel NICs (based on the comitter that changed
that code last)?

/*
  * Return a negative value if no scan results could be fetched or if scan
  * results should not be shared with other virtual interfaces.
  * Return 0 if scan results were fetched and may be shared with other
  * interfaces.
  * Return 1 if scan results may be shared with other virtual interfaces but may
  * not trigger any operations.
  * Return 2 if the interface was removed and cannot be used.
  */
static int _wpa_supplicant_event_scan_results(struct wpa_supplicant *wpa_s,
					      union wpa_event_data *data,
					      int own_request, int update_only)

...

        if (own_request && wpa_s->scan_res_handler &&
	    !(data && data->scan_info.external_scan)) {
		void (*scan_res_handler)(struct wpa_supplicant *wpa_s,
					 struct wpa_scan_results *scan_res);

		scan_res_handler = wpa_s->scan_res_handler;
		wpa_s->scan_res_handler = NULL;
		scan_res_handler(wpa_s, scan_res);
		wpa_dbg(wpa_s, MSG_DEBUG, "Called scan_res_handler, data: %p external-scan: %d, returning 1\n",
			data, data->scan_info.external_scan);
		ret = 0; /* This was 1 upstream, but that means we don't share/use scan results as readily. --Ben */
		goto scan_work_done;
	}


Thanks,
Ben
-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com




More information about the Hostap mailing list