1: a0aed0666640 = 1: e23a901fb454 wifi: cfg80211: nan: add Instant Communication support  2: fec96d99eb82 = 2: eef7b002760a wifi: mac80211: nan: Update NAN configuration copy  3: ec86ca824e92 = 3: d3dfb0f7d2a4 wifi: cfg80211: nan: check Rx registration for NAN beacons  4: 345e8697885a = 4: 3c11025438b8 wifi: cfg80211: do not use NAN beacons to update the BSS table  5: f6e209194d72 = 5: 7b6feace7fe4 wifi: mac80211: nan: allow Rx registration for NAN beacons  6: 57e3cfd92b33 = 6: 050537b21591 wifi: mac80211: accept NAN beacons only when IC is enabled  7: bfdea025981d = 7: e31e99f4d26b wifi: ieee80211: add NAN service ID list attribute definitions  8: a49312e49b96 = 8: ed5b648475ed wifi: mac80211_hwsim: nan: use ieee80211_is_nan_beacon() helper  9: 7a0692b12e08 ! 9: 00a255459cb6 wifi: mac80211_hwsim: nan: prepare for more configurable NAN settings @@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: mac80211_hwsim_nan_tx_beacon( struct ieee80211_nan_master_indication master_indication; struct ieee80211_nan_attr nan_attr; struct ieee80211_mgmt *mgmt; -@@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: mac80211_hwsim_nan_discovery_beacon_timer(struct hrtimer *timer) - return HRTIMER_RESTART; +@@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: mac80211_hwsim_nan_sched_update_work(struct wiphy *wiphy, + ieee80211_nan_sched_update_done(data->nan.device_vif); }   +static int mac80211_hwsim_nan_set_config(struct mac80211_hwsim_data *data, 10: 20f454b192c3 ! 10: 1bc0075c315c wifi: mac80211_hwsim: nan: Handle more of the NAN configuration @@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: mac80211_hwsim_nan_discovery_ tbtt = tbtt - remainder;  hrtimer_set_expires(&data->nan.discovery_beacon_timer, -@@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: mac80211_hwsim_nan_discovery_beacon_timer(struct hrtimer *timer) +@@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: mac80211_hwsim_nan_sched_update_work(struct wiphy *wiphy, static int mac80211_hwsim_nan_set_config(struct mac80211_hwsim_data *data, struct cfg80211_nan_conf *conf) { @@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: int mac80211_hwsim_nan_stop(s if (vif->type != NL80211_IFTYPE_NAN || !data->nan.device_vif || data->nan.device_vif != vif)  @@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: int mac80211_hwsim_nan_stop(struct ieee80211_hw *hw, - hrtimer_cancel(&data->nan.discovery_beacon_timer); + wiphy_delayed_work_cancel(hw->wiphy, &data->nan.sched_update_work); data->nan.device_vif = NULL;   + scoped_guard(spinlock_bh, &data->nan.state_lock) { 11: f5e17cba9a09 ! 11: 98b788c140f9 wifi: mac80211_hwsim: add NAN Instant Communication support @@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: static int mac80211_hwsim_nan data->nan.extra_nan_attrs = extra_nan_attrs; data->nan.extra_nan_attrs_len = conf->extra_nan_attrs_len;  @@ drivers/net/wireless/virtual/mac80211_hwsim_nan.c: int mac80211_hwsim_nan_start(struct ieee80211_hw *hw, - data->nan.bands = conf->bands; + mac80211_hwsim_nan_sched_update_work);  scoped_guard(spinlock_bh, &data->nan.state_lock) {  - /* Start in the "scan" phase and stay there for a little bit */