Lines Matching refs:hwsim

1775 	struct mac80211_hwsim_data *hwsim = hw->priv;  in mac80211_hwsim_testmode_cmd()  local
1793 return hwsim_fops_ps_write(hwsim, ps); in mac80211_hwsim_testmode_cmd()
1799 if (nla_put_u32(skb, HWSIM_TM_ATTR_PS, hwsim->ps)) in mac80211_hwsim_testmode_cmd()
1854 struct mac80211_hwsim_data *hwsim = in hw_scan_work() local
1856 struct cfg80211_scan_request *req = hwsim->hw_scan_request; in hw_scan_work()
1859 mutex_lock(&hwsim->mutex); in hw_scan_work()
1860 if (hwsim->scan_chan_idx >= req->n_channels) { in hw_scan_work()
1861 wiphy_debug(hwsim->hw->wiphy, "hw scan complete\n"); in hw_scan_work()
1862 ieee80211_scan_completed(hwsim->hw, false); in hw_scan_work()
1863 hwsim->hw_scan_request = NULL; in hw_scan_work()
1864 hwsim->hw_scan_vif = NULL; in hw_scan_work()
1865 hwsim->tmp_chan = NULL; in hw_scan_work()
1866 mutex_unlock(&hwsim->mutex); in hw_scan_work()
1870 wiphy_debug(hwsim->hw->wiphy, "hw scan %d MHz\n", in hw_scan_work()
1871 req->channels[hwsim->scan_chan_idx]->center_freq); in hw_scan_work()
1873 hwsim->tmp_chan = req->channels[hwsim->scan_chan_idx]; in hw_scan_work()
1874 if (hwsim->tmp_chan->flags & IEEE80211_CHAN_NO_IR || in hw_scan_work()
1883 probe = ieee80211_probereq_get(hwsim->hw, in hw_scan_work()
1884 hwsim->scan_addr, in hw_scan_work()
1896 mac80211_hwsim_tx_frame(hwsim->hw, probe, in hw_scan_work()
1897 hwsim->tmp_chan); in hw_scan_work()
1901 ieee80211_queue_delayed_work(hwsim->hw, &hwsim->hw_scan, in hw_scan_work()
1903 hwsim->scan_chan_idx++; in hw_scan_work()
1904 mutex_unlock(&hwsim->mutex); in hw_scan_work()
1911 struct mac80211_hwsim_data *hwsim = hw->priv; in mac80211_hwsim_hw_scan() local
1914 mutex_lock(&hwsim->mutex); in mac80211_hwsim_hw_scan()
1915 if (WARN_ON(hwsim->tmp_chan || hwsim->hw_scan_request)) { in mac80211_hwsim_hw_scan()
1916 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_hw_scan()
1919 hwsim->hw_scan_request = req; in mac80211_hwsim_hw_scan()
1920 hwsim->hw_scan_vif = vif; in mac80211_hwsim_hw_scan()
1921 hwsim->scan_chan_idx = 0; in mac80211_hwsim_hw_scan()
1923 get_random_mask_addr(hwsim->scan_addr, in mac80211_hwsim_hw_scan()
1927 memcpy(hwsim->scan_addr, vif->addr, ETH_ALEN); in mac80211_hwsim_hw_scan()
1928 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_hw_scan()
1932 ieee80211_queue_delayed_work(hwsim->hw, &hwsim->hw_scan, 0); in mac80211_hwsim_hw_scan()
1940 struct mac80211_hwsim_data *hwsim = hw->priv; in mac80211_hwsim_cancel_hw_scan() local
1944 cancel_delayed_work_sync(&hwsim->hw_scan); in mac80211_hwsim_cancel_hw_scan()
1946 mutex_lock(&hwsim->mutex); in mac80211_hwsim_cancel_hw_scan()
1947 ieee80211_scan_completed(hwsim->hw, true); in mac80211_hwsim_cancel_hw_scan()
1948 hwsim->tmp_chan = NULL; in mac80211_hwsim_cancel_hw_scan()
1949 hwsim->hw_scan_request = NULL; in mac80211_hwsim_cancel_hw_scan()
1950 hwsim->hw_scan_vif = NULL; in mac80211_hwsim_cancel_hw_scan()
1951 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_cancel_hw_scan()
1958 struct mac80211_hwsim_data *hwsim = hw->priv; in mac80211_hwsim_sw_scan() local
1960 mutex_lock(&hwsim->mutex); in mac80211_hwsim_sw_scan()
1962 if (hwsim->scanning) { in mac80211_hwsim_sw_scan()
1969 memcpy(hwsim->scan_addr, mac_addr, ETH_ALEN); in mac80211_hwsim_sw_scan()
1970 hwsim->scanning = true; in mac80211_hwsim_sw_scan()
1973 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_sw_scan()
1979 struct mac80211_hwsim_data *hwsim = hw->priv; in mac80211_hwsim_sw_scan_complete() local
1981 mutex_lock(&hwsim->mutex); in mac80211_hwsim_sw_scan_complete()
1984 hwsim->scanning = false; in mac80211_hwsim_sw_scan_complete()
1985 eth_zero_addr(hwsim->scan_addr); in mac80211_hwsim_sw_scan_complete()
1987 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_sw_scan_complete()
1992 struct mac80211_hwsim_data *hwsim = in hw_roc_done() local
1995 mutex_lock(&hwsim->mutex); in hw_roc_done()
1996 ieee80211_remain_on_channel_expired(hwsim->hw); in hw_roc_done()
1997 hwsim->tmp_chan = NULL; in hw_roc_done()
1998 mutex_unlock(&hwsim->mutex); in hw_roc_done()
2000 wiphy_debug(hwsim->hw->wiphy, "hwsim ROC expired\n"); in hw_roc_done()
2009 struct mac80211_hwsim_data *hwsim = hw->priv; in mac80211_hwsim_roc() local
2011 mutex_lock(&hwsim->mutex); in mac80211_hwsim_roc()
2012 if (WARN_ON(hwsim->tmp_chan || hwsim->hw_scan_request)) { in mac80211_hwsim_roc()
2013 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_roc()
2017 hwsim->tmp_chan = chan; in mac80211_hwsim_roc()
2018 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_roc()
2025 ieee80211_queue_delayed_work(hw, &hwsim->roc_done, in mac80211_hwsim_roc()
2032 struct mac80211_hwsim_data *hwsim = hw->priv; in mac80211_hwsim_croc() local
2034 cancel_delayed_work_sync(&hwsim->roc_done); in mac80211_hwsim_croc()
2036 mutex_lock(&hwsim->mutex); in mac80211_hwsim_croc()
2037 hwsim->tmp_chan = NULL; in mac80211_hwsim_croc()
2038 mutex_unlock(&hwsim->mutex); in mac80211_hwsim_croc()