mac80211: add new IEEE80211_VIF_GET_NOA_UPDATE flag
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 <janusz.dziedzic@tieto.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a8e828deb3
commit
b115b97299
|
@ -1321,11 +1321,15 @@ struct ieee80211_channel_switch {
|
||||||
* interface. This flag should be set during interface addition,
|
* interface. This flag should be set during interface addition,
|
||||||
* but may be set/cleared as late as authentication to an AP. It is
|
* but may be set/cleared as late as authentication to an AP. It is
|
||||||
* only valid for managed/station mode interfaces.
|
* 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 {
|
enum ieee80211_vif_flags {
|
||||||
IEEE80211_VIF_BEACON_FILTER = BIT(0),
|
IEEE80211_VIF_BEACON_FILTER = BIT(0),
|
||||||
IEEE80211_VIF_SUPPORTS_CQM_RSSI = BIT(1),
|
IEEE80211_VIF_SUPPORTS_CQM_RSSI = BIT(1),
|
||||||
IEEE80211_VIF_SUPPORTS_UAPSD = BIT(2),
|
IEEE80211_VIF_SUPPORTS_UAPSD = BIT(2),
|
||||||
|
IEEE80211_VIF_GET_NOA_UPDATE = BIT(3),
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1930,7 +1930,8 @@ static void ieee80211_set_associated(struct ieee80211_sub_if_data *sdata,
|
||||||
|
|
||||||
sdata->u.mgd.flags |= IEEE80211_STA_RESET_SIGNAL_AVE;
|
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;
|
const struct cfg80211_bss_ies *ies;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
|
@ -3458,7 +3459,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 = {};
|
struct ieee80211_p2p_noa_attr noa = {};
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue