cfg80211/mac80211: clarify RSSI CQM reporting requirements
authorJohannes Berg <johannes.berg@intel.com>
Thu, 22 Oct 2015 15:35:14 +0000 (17:35 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 3 Nov 2015 09:54:58 +0000 (10:54 +0100)
The previous patch changed mac80211 to always report an event
after a CQM RSSI reconfiguration. Document that as expected
behaviour in both the cfg80211 and mac80211 API.

Currently, iwlmvm already implements that behaviour; the other
drivers implementing CQM RSSI events may have to be changed.

This behaviour lets userspace know what the current state is
without relying on querying the data which is racy.

Reviewed-by: Sharon, Sara <sara.sharon@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
include/net/mac80211.h

index 48155be5db7f7e1cbb125e8f35218cad0684f356..2c7bdb81d30c80725b9e7d704f908609a38da6b8 100644 (file)
@@ -2399,6 +2399,10 @@ struct cfg80211_qos_map {
  * @set_power_mgmt: Configure WLAN power management. A timeout value of -1
  *     allows the driver to adjust the dynamic ps timeout value.
  * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold.
+ *     After configuration, the driver should (soon) send an event indicating
+ *     the current level is above/below the configured threshold; this may
+ *     need some care when the configuration is changed (without first being
+ *     disabled.)
  * @set_cqm_txe_config: Configure connection quality monitor TX error
  *     thresholds.
  * @sched_scan_start: Tell the driver to start a scheduled scan.
index 4b9dd070aeb993f6c3f2289e71c032a3f02f3d0d..dac575c55c62a286a87f3fbec7755874060c59d7 100644 (file)
@@ -482,7 +482,9 @@ struct ieee80211_event {
  *     Note that with TDLS this can be the case (channel is HT, protection must
  *     be used from this field) even when the BSS association isn't using HT.
  * @cqm_rssi_thold: Connection quality monitor RSSI threshold, a zero value
- *     implies disabled
+ *     implies disabled. As with the cfg80211 callback, a change here should
+ *     cause an event to be sent indicating where the current value is in
+ *     relation to the newly configured threshold.
  * @cqm_rssi_hyst: Connection quality monitor RSSI hysteresis
  * @arp_addr_list: List of IPv4 addresses for hardware ARP filtering. The
  *     may filter ARP queries targeted for other addresses than listed here.