aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2022-07-28 23:39:03 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2022-07-28 23:39:03 +0000
commit467d3e2e8aa3157794d0c7adc7884b1c4a5535c1 (patch)
tree940a9f3e79fad5b73d8229e3f726eba2c24c2268
parentea8f128c7c17d72fc956ee91e415605cff5cc5c3 (diff)
downloadsrc-467d3e2e8aa3157794d0c7adc7884b1c4a5535c1.tar.gz
src-467d3e2e8aa3157794d0c7adc7884b1c4a5535c1.zip
LinuxKPI 802.11/iwlwifi/rtw88: update KPI
Upgrade the argument of (*bss_info_changed) mac80211 ops function call from 32 to 64 bit. Add an extra argument to ieee80211_beacon_get_template(). Both changes are needed in order to keep other out-of-tree drivers in synch and to move forward. The driver changes were extracted from Linux wireless-testing 7b7090b4c6a906cc7c3e2a460335f705b93f4506 and 6e8912a503759bb8f1f01c5b761d0d45815fa6de. Sponsored by: The FreBSD Foundation MFC after: 1 week
-rw-r--r--sys/compat/linuxkpi/common/include/net/mac80211.h5
-rw-r--r--sys/compat/linuxkpi/common/src/linux_80211.h2
-rw-r--r--sys/compat/linuxkpi/common/src/linux_80211_macops.c2
-rw-r--r--sys/contrib/dev/iwlwifi/mvm/debugfs.c2
-rw-r--r--sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c2
-rw-r--r--sys/contrib/dev/iwlwifi/mvm/mac80211.c6
-rw-r--r--sys/contrib/dev/rtw88/mac80211.c2
7 files changed, 11 insertions, 10 deletions
diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h
index b5ee9467591d..71107c407c25 100644
--- a/sys/compat/linuxkpi/common/include/net/mac80211.h
+++ b/sys/compat/linuxkpi/common/include/net/mac80211.h
@@ -822,7 +822,7 @@ struct ieee80211_ops {
void (*configure_filter)(struct ieee80211_hw *, unsigned int, unsigned int *, u64);
void (*config_iface_filter)(struct ieee80211_hw *, struct ieee80211_vif *, unsigned int, unsigned int);
- void (*bss_info_changed)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u32);
+ void (*bss_info_changed)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_bss_conf *, u64);
int (*set_rts_threshold)(struct ieee80211_hw *, u32);
void (*event_callback)(struct ieee80211_hw *, struct ieee80211_vif *, const struct ieee80211_event *);
int (*get_survey)(struct ieee80211_hw *, int, struct survey_info *);
@@ -1434,7 +1434,8 @@ ieee80211_vif_to_wdev(struct ieee80211_vif *vif)
static __inline struct sk_buff *
ieee80211_beacon_get_template(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs)
+ struct ieee80211_vif *vif, struct ieee80211_mutable_offsets *offs,
+ int x)
{
TODO();
return (NULL);
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h
index f7ade2d5e2f9..3c107f76de32 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.h
+++ b/sys/compat/linuxkpi/common/src/linux_80211.h
@@ -224,7 +224,7 @@ void lkpi_80211_mo_change_chanctx(struct ieee80211_hw *,
void lkpi_80211_mo_remove_chanctx(struct ieee80211_hw *,
struct ieee80211_chanctx_conf *);
void lkpi_80211_mo_bss_info_changed(struct ieee80211_hw *, struct ieee80211_vif *,
- struct ieee80211_bss_conf *, uint32_t);
+ struct ieee80211_bss_conf *, uint64_t);
int lkpi_80211_mo_conf_tx(struct ieee80211_hw *, struct ieee80211_vif *,
uint16_t, const struct ieee80211_tx_queue_params *);
void lkpi_80211_mo_flush(struct ieee80211_hw *, struct ieee80211_vif *,
diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
index e77aeb9afb67..b3e01780e1ce 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c
@@ -480,7 +480,7 @@ lkpi_80211_mo_remove_chanctx(struct ieee80211_hw *hw,
void
lkpi_80211_mo_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
- struct ieee80211_bss_conf *conf, uint32_t changed)
+ struct ieee80211_bss_conf *conf, uint64_t changed)
{
struct lkpi_hw *lhw;
diff --git a/sys/contrib/dev/iwlwifi/mvm/debugfs.c b/sys/contrib/dev/iwlwifi/mvm/debugfs.c
index 49898fd99594..c0bd697b080a 100644
--- a/sys/contrib/dev/iwlwifi/mvm/debugfs.c
+++ b/sys/contrib/dev/iwlwifi/mvm/debugfs.c
@@ -1233,7 +1233,7 @@ static int _iwl_dbgfs_inject_beacon_ie(struct iwl_mvm *mvm, char *bin, int len)
mvm->hw->extra_beacon_tailroom = len;
- beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL);
+ beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL, 0);
if (!beacon)
goto out_err;
diff --git a/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c b/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c
index 5aa4520b70ac..88893fade5cd 100644
--- a/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c
+++ b/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c
@@ -1020,7 +1020,7 @@ int iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm,
WARN_ON(vif->type != NL80211_IFTYPE_AP &&
vif->type != NL80211_IFTYPE_ADHOC);
- beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL);
+ beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL, 0);
if (!beacon)
return -ENOMEM;
diff --git a/sys/contrib/dev/iwlwifi/mvm/mac80211.c b/sys/contrib/dev/iwlwifi/mvm/mac80211.c
index 8c1e499fa0f1..4f40a9f64ee3 100644
--- a/sys/contrib/dev/iwlwifi/mvm/mac80211.c
+++ b/sys/contrib/dev/iwlwifi/mvm/mac80211.c
@@ -2217,7 +2217,7 @@ static void iwl_mvm_protect_assoc(struct iwl_mvm *mvm,
static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
struct ieee80211_vif *vif,
struct ieee80211_bss_conf *bss_conf,
- u32 changes)
+ u64 changes)
{
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
int ret;
@@ -2626,7 +2626,7 @@ static void
iwl_mvm_bss_info_changed_ap_ibss(struct iwl_mvm *mvm,
struct ieee80211_vif *vif,
struct ieee80211_bss_conf *bss_conf,
- u32 changes)
+ u64 changes)
{
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
@@ -2657,7 +2657,7 @@ iwl_mvm_bss_info_changed_ap_ibss(struct iwl_mvm *mvm,
static void iwl_mvm_bss_info_changed(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_bss_conf *bss_conf,
- u32 changes)
+ u64 changes)
{
struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
diff --git a/sys/contrib/dev/rtw88/mac80211.c b/sys/contrib/dev/rtw88/mac80211.c
index 94a6fb578281..73c5d9535d72 100644
--- a/sys/contrib/dev/rtw88/mac80211.c
+++ b/sys/contrib/dev/rtw88/mac80211.c
@@ -368,7 +368,7 @@ static void rtw_conf_tx(struct rtw_dev *rtwdev,
static void rtw_ops_bss_info_changed(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_bss_conf *conf,
- u32 changed)
+ u64 changed)
{
struct rtw_dev *rtwdev = hw->priv;
struct rtw_vif *rtwvif = (struct rtw_vif *)vif->drv_priv;