mac80211: allow drivers to support NL80211_SCAN_FLAG_RANDOM_ADDR

Allow drivers to support NL80211_SCAN_FLAG_RANDOM_ADDR with software
based scanning and generate a random MAC address for them for every
scan request with the flag.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
这个提交包含在:
Johannes Berg
2014-06-12 22:24:31 +02:00
父节点 6ea0a69ca2
当前提交 a344d6778a
修改 24 个文件,包含 166 行新增72 行删除

查看文件

@@ -380,23 +380,26 @@ static inline int drv_sched_scan_stop(struct ieee80211_local *local,
return ret;
}
static inline void drv_sw_scan_start(struct ieee80211_local *local)
static inline void drv_sw_scan_start(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
const u8 *mac_addr)
{
might_sleep();
trace_drv_sw_scan_start(local);
trace_drv_sw_scan_start(local, sdata, mac_addr);
if (local->ops->sw_scan_start)
local->ops->sw_scan_start(&local->hw);
local->ops->sw_scan_start(&local->hw, &sdata->vif, mac_addr);
trace_drv_return_void(local);
}
static inline void drv_sw_scan_complete(struct ieee80211_local *local)
static inline void drv_sw_scan_complete(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata)
{
might_sleep();
trace_drv_sw_scan_complete(local);
trace_drv_sw_scan_complete(local, sdata);
if (local->ops->sw_scan_complete)
local->ops->sw_scan_complete(&local->hw);
local->ops->sw_scan_complete(&local->hw, &sdata->vif);
trace_drv_return_void(local);
}