Add new VIF flag, that will allow get NOA update
notification when driver will request this, even
this is not pure P2P vif (eg. STA vif).

Signed-off-by: Janusz Dziedzic <[email protected]>
---
 include/net/mac80211.h | 4 ++++
 net/mac80211/mlme.c    | 6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 4ec6fed..1173c63 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1325,11 +1325,15 @@ struct ieee80211_channel_switch {
  *     interface. This flag should be set during interface addition,
  *     but may be set/cleared as late as authentication to an AP. It is
  *     only valid for managed/station mode interfaces.
+ * @IEEE80211_VIF_GET_NOA_UPDATE: request to handle NOA attributes
+ *     and send P2P_PS notification to the driver if NOA changed, even
+ *     this is not pure P2P vif.
  */
 enum ieee80211_vif_flags {
        IEEE80211_VIF_BEACON_FILTER             = BIT(0),
        IEEE80211_VIF_SUPPORTS_CQM_RSSI         = BIT(1),
        IEEE80211_VIF_SUPPORTS_UAPSD            = BIT(2),
+       IEEE80211_VIF_GET_NOA_UPDATE            = BIT(3),
 };
 
 /**
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 56ef9a8..5bafd1e 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1941,7 +1941,8 @@ static void ieee80211_set_associated(struct 
ieee80211_sub_if_data *sdata,
 
        sdata->u.mgd.flags |= IEEE80211_STA_RESET_SIGNAL_AVE;
 
-       if (sdata->vif.p2p) {
+       if (sdata->vif.p2p ||
+           sdata->vif.driver_flags & IEEE80211_VIF_GET_NOA_UPDATE) {
                const struct cfg80211_bss_ies *ies;
 
                rcu_read_lock();
@@ -3461,7 +3462,8 @@ static void ieee80211_rx_mgmt_beacon(struct 
ieee80211_sub_if_data *sdata,
                }
        }
 
-       if (sdata->vif.p2p) {
+       if (sdata->vif.p2p ||
+           sdata->vif.driver_flags & IEEE80211_VIF_GET_NOA_UPDATE) {
                struct ieee80211_p2p_noa_attr noa = {};
                int ret;
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to