diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/chan.c | 5 | ||||
-rw-r--r-- | net/mac80211/ieee80211_i.h | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c index fcb2cd8ffd07..4ed229c0966a 100644 --- a/net/mac80211/chan.c +++ b/net/mac80211/chan.c | |||
@@ -742,7 +742,8 @@ int ieee80211_vif_unreserve_chanctx(struct ieee80211_sub_if_data *sdata) | |||
742 | 742 | ||
743 | int ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata, | 743 | int ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata, |
744 | const struct cfg80211_chan_def *chandef, | 744 | const struct cfg80211_chan_def *chandef, |
745 | enum ieee80211_chanctx_mode mode) | 745 | enum ieee80211_chanctx_mode mode, |
746 | bool radar_required) | ||
746 | { | 747 | { |
747 | struct ieee80211_local *local = sdata->local; | 748 | struct ieee80211_local *local = sdata->local; |
748 | struct ieee80211_chanctx_conf *conf; | 749 | struct ieee80211_chanctx_conf *conf; |
@@ -786,6 +787,7 @@ int ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata, | |||
786 | new_ctx->refcount++; | 787 | new_ctx->refcount++; |
787 | sdata->reserved_chanctx = new_ctx; | 788 | sdata->reserved_chanctx = new_ctx; |
788 | sdata->reserved_chandef = *chandef; | 789 | sdata->reserved_chandef = *chandef; |
790 | sdata->reserved_radar_required = radar_required; | ||
789 | out: | 791 | out: |
790 | mutex_unlock(&local->chanctx_mtx); | 792 | mutex_unlock(&local->chanctx_mtx); |
791 | return ret; | 793 | return ret; |
@@ -830,6 +832,7 @@ int ieee80211_vif_use_reserved_context(struct ieee80211_sub_if_data *sdata, | |||
830 | /* unref our reservation */ | 832 | /* unref our reservation */ |
831 | ctx->refcount--; | 833 | ctx->refcount--; |
832 | sdata->reserved_chanctx = NULL; | 834 | sdata->reserved_chanctx = NULL; |
835 | sdata->radar_required = sdata->reserved_radar_required; | ||
833 | 836 | ||
834 | if (old_ctx == ctx) { | 837 | if (old_ctx == ctx) { |
835 | /* This is our own context, just change it */ | 838 | /* This is our own context, just change it */ |
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index bfc3ca506fbd..4018ba13c028 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -759,6 +759,7 @@ struct ieee80211_sub_if_data { | |||
759 | /* context reservation -- protected with chanctx_mtx */ | 759 | /* context reservation -- protected with chanctx_mtx */ |
760 | struct ieee80211_chanctx *reserved_chanctx; | 760 | struct ieee80211_chanctx *reserved_chanctx; |
761 | struct cfg80211_chan_def reserved_chandef; | 761 | struct cfg80211_chan_def reserved_chandef; |
762 | bool reserved_radar_required; | ||
762 | 763 | ||
763 | /* used to reconfigure hardware SM PS */ | 764 | /* used to reconfigure hardware SM PS */ |
764 | struct work_struct recalc_smps; | 765 | struct work_struct recalc_smps; |
@@ -1777,7 +1778,8 @@ ieee80211_vif_use_channel(struct ieee80211_sub_if_data *sdata, | |||
1777 | int __must_check | 1778 | int __must_check |
1778 | ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata, | 1779 | ieee80211_vif_reserve_chanctx(struct ieee80211_sub_if_data *sdata, |
1779 | const struct cfg80211_chan_def *chandef, | 1780 | const struct cfg80211_chan_def *chandef, |
1780 | enum ieee80211_chanctx_mode mode); | 1781 | enum ieee80211_chanctx_mode mode, |
1782 | bool radar_required); | ||
1781 | int __must_check | 1783 | int __must_check |
1782 | ieee80211_vif_use_reserved_context(struct ieee80211_sub_if_data *sdata, | 1784 | ieee80211_vif_use_reserved_context(struct ieee80211_sub_if_data *sdata, |
1783 | u32 *changed); | 1785 | u32 *changed); |