PKG_NAME:=mac80211
-PKG_VERSION:=6.1.97-1
+PKG_VERSION:=6.1.102-1
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v6.1.97/
-PKG_HASH:=8e9ae2d02f373252dd61f5c6a81c88eec67ca773464d9ef3d844752dc6775540
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v6.1.102/
+PKG_HASH:=c03fd1ed946e5e4b756145ffad7a73fa821630f22c5d442456db16c96be2c9b2
PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
mkdir -p $(PKG_BUILD_DIR)
$(PKG_UNPACK)
$(Build/Patch)
- rm -rf \
- $(PKG_BUILD_DIR)/include/linux/ssb \
- $(PKG_BUILD_DIR)/include/linux/bcma
rm -f \
$(PKG_BUILD_DIR)/include/linux/mhi.h \
+++ /dev/null
---- a/local-symbols
-+++ b/local-symbols
-@@ -462,43 +462,6 @@ USB_VL600=
- USB_NET_CH9200=
- USB_NET_AQC111=
- USB_RTL8153_ECM=
--SSB_POSSIBLE=
--SSB=
--SSB_SPROM=
--SSB_BLOCKIO=
--SSB_PCIHOST_POSSIBLE=
--SSB_PCIHOST=
--SSB_B43_PCI_BRIDGE=
--SSB_PCMCIAHOST_POSSIBLE=
--SSB_PCMCIAHOST=
--SSB_SDIOHOST_POSSIBLE=
--SSB_SDIOHOST=
--SSB_HOST_SOC=
--SSB_SERIAL=
--SSB_DRIVER_PCICORE_POSSIBLE=
--SSB_DRIVER_PCICORE=
--SSB_PCICORE_HOSTMODE=
--SSB_DRIVER_MIPS=
--SSB_SFLASH=
--SSB_EMBEDDED=
--SSB_DRIVER_EXTIF=
--SSB_DRIVER_GIGE=
--SSB_DRIVER_GPIO=
--BCMA_POSSIBLE=
--BCMA=
--BCMA_BLOCKIO=
--BCMA_HOST_PCI_POSSIBLE=
--BCMA_HOST_PCI=
--BCMA_HOST_SOC=
--BCMA_DRIVER_PCI=
--BCMA_DRIVER_PCI_HOSTMODE=
--BCMA_DRIVER_MIPS=
--BCMA_PFLASH=
--BCMA_SFLASH=
--BCMA_NFLASH=
--BCMA_DRIVER_GMAC_CMN=
--BCMA_DRIVER_GPIO=
--BCMA_DEBUG=
- USB_ACM=
- USB_PRINTER=
- USB_WDM=
---- a/drivers/net/wireless/broadcom/b43/Kconfig
-+++ b/drivers/net/wireless/broadcom/b43/Kconfig
-@@ -63,21 +63,21 @@ endchoice
- config B43_PCI_AUTOSELECT
- bool
- depends on B43 && SSB_PCIHOST_POSSIBLE
-- select SSB_PCIHOST
-- select SSB_B43_PCI_BRIDGE
-+ depends on SSB_PCIHOST
-+ depends on SSB_B43_PCI_BRIDGE
- default y
-
- # Auto-select SSB PCICORE driver, if possible
- config B43_PCICORE_AUTOSELECT
- bool
- depends on B43 && SSB_DRIVER_PCICORE_POSSIBLE
-- select SSB_DRIVER_PCICORE
-+ depends on SSB_DRIVER_PCICORE
- default y
-
- config B43_SDIO
- bool "Broadcom 43xx SDIO device support"
- depends on B43 && B43_SSB && SSB_SDIOHOST_POSSIBLE
-- select SSB_SDIOHOST
-+ depends on SSB_SDIOHOST
- help
- Broadcom 43xx device support for Soft-MAC SDIO devices.
-
-@@ -96,13 +96,13 @@ config B43_SDIO
- config B43_BCMA_PIO
- bool
- depends on B43 && B43_BCMA
-- select BCMA_BLOCKIO
-+ depends on BCMA_BLOCKIO
- default y
-
- config B43_PIO
- bool
- depends on B43 && B43_SSB
-- select SSB_BLOCKIO
-+ depends on SSB_BLOCKIO
- default y
-
- config B43_PHY_G
---- a/drivers/net/wireless/broadcom/b43/main.c
-+++ b/drivers/net/wireless/broadcom/b43/main.c
-@@ -2854,7 +2854,7 @@ static struct ssb_device *b43_ssb_gpio_d
- {
- struct ssb_bus *bus = dev->dev->sdev->bus;
-
--#ifdef CPTCFG_SSB_DRIVER_PCICORE
-+#ifdef CONFIG_SSB_DRIVER_PCICORE
- return (bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev);
- #else
- return bus->chipco.dev;
-@@ -4873,7 +4873,7 @@ static int b43_wireless_core_init(struct
- }
- if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW)
- hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */
--#if defined(CPTCFG_B43_SSB) && defined(CPTCFG_SSB_DRIVER_PCICORE)
-+#if defined(CPTCFG_B43_SSB) && defined(CONFIG_SSB_DRIVER_PCICORE)
- if (dev->dev->bus_type == B43_BUS_SSB &&
- dev->dev->sdev->bus->bustype == SSB_BUSTYPE_PCI &&
- dev->dev->sdev->bus->pcicore.dev->id.revision <= 10)
---- a/drivers/net/wireless/broadcom/b43legacy/Kconfig
-+++ b/drivers/net/wireless/broadcom/b43legacy/Kconfig
-@@ -3,7 +3,7 @@ config B43LEGACY
- tristate "Broadcom 43xx-legacy wireless support (mac80211 stack)"
- depends on m
- depends on SSB_POSSIBLE && MAC80211 && HAS_DMA
-- select SSB
-+ depends on SSB
- depends on FW_LOADER
- help
- b43legacy is a driver for 802.11b devices from Broadcom (BCM4301 and
-@@ -25,15 +25,15 @@ config B43LEGACY
- config B43LEGACY_PCI_AUTOSELECT
- bool
- depends on B43LEGACY && SSB_PCIHOST_POSSIBLE
-- select SSB_PCIHOST
-- select SSB_B43_PCI_BRIDGE
-+ depends on SSB_PCIHOST
-+ depends on SSB_B43_PCI_BRIDGE
- default y
-
- # Auto-select SSB PCICORE driver, if possible
- config B43LEGACY_PCICORE_AUTOSELECT
- bool
- depends on B43LEGACY && SSB_DRIVER_PCICORE_POSSIBLE
-- select SSB_DRIVER_PCICORE
-+ depends on SSB_DRIVER_PCICORE
- default y
-
- # LED support
---- a/drivers/net/wireless/broadcom/b43legacy/main.c
-+++ b/drivers/net/wireless/broadcom/b43legacy/main.c
-@@ -1907,7 +1907,7 @@ static int b43legacy_gpio_init(struct b4
- if (dev->dev->id.revision >= 2)
- mask |= 0x0010; /* FIXME: This is redundant. */
-
--#ifdef CPTCFG_SSB_DRIVER_PCICORE
-+#ifdef CONFIG_SSB_DRIVER_PCICORE
- pcidev = bus->pcicore.dev;
- #endif
- gpiodev = bus->chipco.dev ? : pcidev;
-@@ -1926,7 +1926,7 @@ static void b43legacy_gpio_cleanup(struc
- struct ssb_bus *bus = dev->dev->bus;
- struct ssb_device *gpiodev, *pcidev = NULL;
-
--#ifdef CPTCFG_SSB_DRIVER_PCICORE
-+#ifdef CONFIG_SSB_DRIVER_PCICORE
- pcidev = bus->pcicore.dev;
- #endif
- gpiodev = bus->chipco.dev ? : pcidev;
---- a/drivers/net/wireless/broadcom/brcm80211/Kconfig
-+++ b/drivers/net/wireless/broadcom/brcm80211/Kconfig
-@@ -8,7 +8,7 @@ config BRCMSMAC
- depends on m
- depends on MAC80211
- depends on BCMA_POSSIBLE
-- select BCMA
-+ depends on BCMA
- select BRCMUTIL
- depends on FW_LOADER
- depends on CORDIC
---- a/Kconfig.local
-+++ b/Kconfig.local
-@@ -1390,117 +1390,6 @@ config BACKPORTED_USB_NET_AQC111
- config BACKPORTED_USB_RTL8153_ECM
- tristate
- default USB_RTL8153_ECM
--config BACKPORTED_SSB_POSSIBLE
-- tristate
-- default SSB_POSSIBLE
--config BACKPORTED_SSB
-- tristate
-- default SSB
--config BACKPORTED_SSB_SPROM
-- tristate
-- default SSB_SPROM
--config BACKPORTED_SSB_BLOCKIO
-- tristate
-- default SSB_BLOCKIO
--config BACKPORTED_SSB_PCIHOST_POSSIBLE
-- tristate
-- default SSB_PCIHOST_POSSIBLE
--config BACKPORTED_SSB_PCIHOST
-- tristate
-- default SSB_PCIHOST
--config BACKPORTED_SSB_B43_PCI_BRIDGE
-- tristate
-- default SSB_B43_PCI_BRIDGE
--config BACKPORTED_SSB_PCMCIAHOST_POSSIBLE
-- tristate
-- default SSB_PCMCIAHOST_POSSIBLE
--config BACKPORTED_SSB_PCMCIAHOST
-- tristate
-- default SSB_PCMCIAHOST
--config BACKPORTED_SSB_SDIOHOST_POSSIBLE
-- tristate
-- default SSB_SDIOHOST_POSSIBLE
--config BACKPORTED_SSB_SDIOHOST
-- tristate
-- default SSB_SDIOHOST
--config BACKPORTED_SSB_HOST_SOC
-- tristate
-- default SSB_HOST_SOC
--config BACKPORTED_SSB_SERIAL
-- tristate
-- default SSB_SERIAL
--config BACKPORTED_SSB_DRIVER_PCICORE_POSSIBLE
-- tristate
-- default SSB_DRIVER_PCICORE_POSSIBLE
--config BACKPORTED_SSB_DRIVER_PCICORE
-- tristate
-- default SSB_DRIVER_PCICORE
--config BACKPORTED_SSB_PCICORE_HOSTMODE
-- tristate
-- default SSB_PCICORE_HOSTMODE
--config BACKPORTED_SSB_DRIVER_MIPS
-- tristate
-- default SSB_DRIVER_MIPS
--config BACKPORTED_SSB_SFLASH
-- tristate
-- default SSB_SFLASH
--config BACKPORTED_SSB_EMBEDDED
-- tristate
-- default SSB_EMBEDDED
--config BACKPORTED_SSB_DRIVER_EXTIF
-- tristate
-- default SSB_DRIVER_EXTIF
--config BACKPORTED_SSB_DRIVER_GIGE
-- tristate
-- default SSB_DRIVER_GIGE
--config BACKPORTED_SSB_DRIVER_GPIO
-- tristate
-- default SSB_DRIVER_GPIO
--config BACKPORTED_BCMA_POSSIBLE
-- tristate
-- default BCMA_POSSIBLE
--config BACKPORTED_BCMA
-- tristate
-- default BCMA
--config BACKPORTED_BCMA_BLOCKIO
-- tristate
-- default BCMA_BLOCKIO
--config BACKPORTED_BCMA_HOST_PCI_POSSIBLE
-- tristate
-- default BCMA_HOST_PCI_POSSIBLE
--config BACKPORTED_BCMA_HOST_PCI
-- tristate
-- default BCMA_HOST_PCI
--config BACKPORTED_BCMA_HOST_SOC
-- tristate
-- default BCMA_HOST_SOC
--config BACKPORTED_BCMA_DRIVER_PCI
-- tristate
-- default BCMA_DRIVER_PCI
--config BACKPORTED_BCMA_DRIVER_PCI_HOSTMODE
-- tristate
-- default BCMA_DRIVER_PCI_HOSTMODE
--config BACKPORTED_BCMA_DRIVER_MIPS
-- tristate
-- default BCMA_DRIVER_MIPS
--config BACKPORTED_BCMA_PFLASH
-- tristate
-- default BCMA_PFLASH
--config BACKPORTED_BCMA_SFLASH
-- tristate
-- default BCMA_SFLASH
--config BACKPORTED_BCMA_NFLASH
-- tristate
-- default BCMA_NFLASH
--config BACKPORTED_BCMA_DRIVER_GMAC_CMN
-- tristate
-- default BCMA_DRIVER_GMAC_CMN
--config BACKPORTED_BCMA_DRIVER_GPIO
-- tristate
-- default BCMA_DRIVER_GPIO
--config BACKPORTED_BCMA_DEBUG
-- tristate
-- default BCMA_DEBUG
- config BACKPORTED_USB_ACM
- tristate
- default USB_ACM
---- a/Kconfig.sources
-+++ b/Kconfig.sources
-@@ -10,9 +10,6 @@ source "$BACKPORT_DIR/drivers/soc/qcom/K
- source "$BACKPORT_DIR/drivers/net/wireless/Kconfig"
- source "$BACKPORT_DIR/drivers/net/usb/Kconfig"
-
--source "$BACKPORT_DIR/drivers/ssb/Kconfig"
--source "$BACKPORT_DIR/drivers/bcma/Kconfig"
--
- source "$BACKPORT_DIR/drivers/usb/class/Kconfig"
-
- source "$BACKPORT_DIR/drivers/staging/Kconfig"
---- a/Makefile.kernel
-+++ b/Makefile.kernel
-@@ -42,8 +42,6 @@ obj-$(CPTCFG_QRTR) += net/qrtr/
- obj-$(CPTCFG_QCOM_QMI_HELPERS) += drivers/soc/qcom/
- obj-$(CPTCFG_MHI_BUS) += drivers/bus/mhi/
- obj-$(CPTCFG_WLAN) += drivers/net/wireless/
--obj-$(CPTCFG_SSB) += drivers/ssb/
--obj-$(CPTCFG_BCMA) += drivers/bcma/
- obj-$(CPTCFG_USB_NET_RNDIS_WLAN) += drivers/net/usb/
-
- obj-$(CPTCFG_USB_WDM) += drivers/usb/class/
+++ /dev/null
---- /dev/null
-+++ b/backport-include/linux/bcma/bcma_driver_chipcommon.h
-@@ -0,0 +1,10 @@
-+#ifndef __BACKPORT_BCMA_DRIVER_CHIPCOMMON_H
-+#define __BACKPORT_BCMA_DRIVER_CHIPCOMMON_H
-+
-+#include_next <linux/bcma/bcma_driver_chipcommon.h>
-+
-+#ifndef BCMA_CC_SROM_CONTROL_OTP_PRESENT
-+#define BCMA_CC_SROM_CONTROL_OTP_PRESENT 0x00000020
-+#endif
-+
-+#endif
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -4357,9 +4357,6 @@ static int ieee80211_get_txq_stats(struc
+@@ -4358,9 +4358,6 @@ static int ieee80211_get_txq_stats(struc
struct ieee80211_sub_if_data *sdata;
int ret = 0;
NL80211_EXT_FEATURE_AQL))
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -2300,7 +2300,6 @@ void ieee80211_wake_queue_by_reason(stru
+@@ -2302,7 +2302,6 @@ void ieee80211_wake_queue_by_reason(stru
void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue,
enum queue_stop_reason reason,
bool refcounted);
ndev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
-@@ -627,7 +627,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -634,7 +634,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
if (WARN_ON(!ops->tx || !ops->start || !ops->stop || !ops->config ||
!ops->add_interface || !ops->remove_interface ||
return NULL;
if (WARN_ON(ops->sta_state && (ops->sta_add || ops->sta_remove)))
-@@ -716,9 +716,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -723,9 +723,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
if (!ops->set_key)
wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_RRM);
wiphy->bss_priv_size = sizeof(struct ieee80211_bss);
-@@ -831,10 +829,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -838,10 +836,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
atomic_set(&local->agg_queue_stop[i], 0);
}
tasklet_setup(&local->tx_pending_tasklet, ieee80211_tx_pending);
};
#ifdef CPTCFG_MAC80211_MESH
-@@ -2007,6 +2022,11 @@ int ieee80211_tx_control_port(struct wip
+@@ -2009,6 +2024,11 @@ int ieee80211_tx_control_port(struct wip
int link_id, u64 *cookie);
int ieee80211_probe_mesh_link(struct wiphy *wiphy, struct net_device *dev,
const u8 *buf, size_t len);
rx_accept:
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -2027,6 +2027,8 @@ void __ieee80211_xmit_fast(struct ieee80
+@@ -2029,6 +2029,8 @@ void __ieee80211_xmit_fast(struct ieee80
struct ieee80211_fast_tx *fast_tx,
struct sk_buff *skb, bool ampdu,
const u8 *da, const u8 *sa);
u16 old_links, u16 new_links,
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -1944,7 +1944,8 @@ void ieee80211_color_collision_detection
+@@ -1946,7 +1946,8 @@ void ieee80211_color_collision_detection
/* interface handling */
#define MAC80211_SUPPORTED_FEATURES_TX (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | \
NETIF_F_HW_CSUM | NETIF_F_SG | \
}
new = kzalloc(size, GFP_KERNEL);
-@@ -3394,8 +3394,11 @@ cfg80211_beacon_dup(struct cfg80211_beac
+@@ -3395,8 +3395,11 @@ cfg80211_beacon_dup(struct cfg80211_beac
len = beacon->head_len + beacon->tail_len + beacon->beacon_ies_len +
beacon->proberesp_ies_len + beacon->assocresp_ies_len +
return STA_STATS_RATE_INVALID;
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
-@@ -3898,6 +3898,19 @@ u64 ieee80211_calculate_rx_timestamp(str
+@@ -3902,6 +3902,19 @@ u64 ieee80211_calculate_rx_timestamp(str
/* Fill cfg80211 rate info */
switch (status->encoding) {
bool mu_mimo_owner;
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -4195,7 +4195,7 @@ static int ieee80211_set_ap_chanwidth(st
+@@ -4196,7 +4196,7 @@ static int ieee80211_set_ap_chanwidth(st
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
struct ieee80211_link_data *link;
int ret;
struct ieee80211_bss_conf *link_conf = link->conf;
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -2497,7 +2497,7 @@ int ieee80211_link_unreserve_chanctx(str
+@@ -2499,7 +2499,7 @@ int ieee80211_link_unreserve_chanctx(str
int __must_check
ieee80211_link_change_bandwidth(struct ieee80211_link_data *link,
const struct cfg80211_chan_def *chandef,
* ieee80211_operating_class_to_band - convert operating class to band
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -3610,7 +3610,8 @@ static int __ieee80211_csa_finalize(stru
+@@ -3611,7 +3611,8 @@ static int __ieee80211_csa_finalize(stru
if (err)
return err;
return 0;
}
-@@ -3882,7 +3883,7 @@ __ieee80211_channel_switch(struct wiphy
+@@ -3883,7 +3884,7 @@ __ieee80211_channel_switch(struct wiphy
cfg80211_ch_switch_started_notify(sdata->dev,
&sdata->deflink.csa_chandef, 0,
if (sdata->vif.type == NL80211_IFTYPE_AP &&
params->mbssid_config.tx_wdev) {
err = ieee80211_set_ap_mbssid_options(sdata,
-@@ -3569,6 +3574,12 @@ static int __ieee80211_csa_finalize(stru
+@@ -3570,6 +3575,12 @@ static int __ieee80211_csa_finalize(stru
lockdep_assert_held(&local->mtx);
lockdep_assert_held(&local->chanctx_mtx);
/*
* using reservation isn't immediate as it may be deferred until later
* with multi-vif. once reservation is complete it will re-schedule the
-@@ -3611,7 +3622,7 @@ static int __ieee80211_csa_finalize(stru
+@@ -3612,7 +3623,7 @@ static int __ieee80211_csa_finalize(stru
return err;
cfg80211_ch_switch_notify(sdata->dev, &sdata->deflink.csa_chandef, 0,
return 0;
}
-@@ -3873,9 +3884,13 @@ __ieee80211_channel_switch(struct wiphy
+@@ -3874,9 +3885,13 @@ __ieee80211_channel_switch(struct wiphy
goto out;
}
if (sdata->deflink.csa_block_tx)
ieee80211_stop_vif_queues(local, sdata,
-@@ -3883,7 +3898,8 @@ __ieee80211_channel_switch(struct wiphy
+@@ -3884,7 +3899,8 @@ __ieee80211_channel_switch(struct wiphy
cfg80211_ch_switch_started_notify(sdata->dev,
&sdata->deflink.csa_chandef, 0,
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
-@@ -2493,21 +2493,55 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2497,21 +2497,55 @@ int ieee80211_reconfig(struct ieee80211_
/* Finally also reconfigure all the BSS information */
list_for_each_entry(sdata, &local->interfaces, list) {
}
switch (sdata->vif.type) {
-@@ -2527,42 +2561,42 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2531,42 +2565,42 @@ int ieee80211_reconfig(struct ieee80211_
&sdata->deflink.tx_conf[i]);
break;
}
break;
case NL80211_IFTYPE_OCB:
changed |= BSS_CHANGED_OCB;
-@@ -2597,6 +2631,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2601,6 +2635,7 @@ int ieee80211_reconfig(struct ieee80211_
case NL80211_IFTYPE_NAN:
res = ieee80211_reconfig_nan(sdata);
if (res < 0) {
ieee80211_handle_reconfig_failure(local);
return res;
}
-@@ -2614,6 +2649,10 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2618,6 +2653,10 @@ int ieee80211_reconfig(struct ieee80211_
WARN_ON(1);
break;
}
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
-@@ -2344,6 +2344,35 @@ static int ieee80211_reconfig_nan(struct
+@@ -2348,6 +2348,35 @@ static int ieee80211_reconfig_nan(struct
return 0;
}
int ieee80211_reconfig(struct ieee80211_local *local)
{
struct ieee80211_hw *hw = &local->hw;
-@@ -2606,7 +2635,13 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2610,7 +2639,13 @@ int ieee80211_reconfig(struct ieee80211_
changed |= BSS_CHANGED_IBSS;
fallthrough;
case NL80211_IFTYPE_AP:
if (sdata->vif.bss_conf.ftm_responder == 1 &&
wiphy_ext_feature_isset(sdata->local->hw.wiphy,
-@@ -2616,6 +2651,13 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2620,6 +2655,13 @@ int ieee80211_reconfig(struct ieee80211_
if (sdata->vif.type == NL80211_IFTYPE_AP) {
changed |= BSS_CHANGED_AP_PROBE_RESP;
struct {
u8 id;
u8 len;
-@@ -2542,7 +2542,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2546,7 +2546,7 @@ int ieee80211_reconfig(struct ieee80211_
continue;
sdata_lock(sdata);
struct ieee80211_bss_conf *old[IEEE80211_MLD_MAX_NUM_LINKS] = {
[0] = &sdata->vif.bss_conf,
};
-@@ -2562,7 +2562,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2566,7 +2566,7 @@ int ieee80211_reconfig(struct ieee80211_
for (link_id = 0;
link_id < ARRAY_SIZE(sdata->vif.link_conf);
link_id++) {
!(sdata->vif.active_links & BIT(link_id)))
continue;
-@@ -2594,12 +2594,12 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2598,12 +2598,12 @@ int ieee80211_reconfig(struct ieee80211_
if (sdata->vif.bss_conf.mu_mimo_owner)
changed |= BSS_CHANGED_MU_GROUPS;
changed |= BSS_CHANGED_ASSOC |
BSS_CHANGED_ARP_FILTER |
BSS_CHANGED_PS;
-@@ -2637,7 +2637,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2641,7 +2641,7 @@ int ieee80211_reconfig(struct ieee80211_
case NL80211_IFTYPE_AP:
changed |= BSS_CHANGED_P2P_PS;
ieee80211_vif_cfg_change_notify(sdata,
BSS_CHANGED_SSID);
else
-@@ -2651,7 +2651,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2655,7 +2655,7 @@ int ieee80211_reconfig(struct ieee80211_
if (sdata->vif.type == NL80211_IFTYPE_AP) {
changed |= BSS_CHANGED_AP_PROBE_RESP;
}
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -2101,7 +2101,7 @@ enum ieee80211_sta_rx_bandwidth
+@@ -2103,7 +2103,7 @@ enum ieee80211_sta_rx_bandwidth
ieee80211_sta_cap_rx_bw(struct link_sta_info *link_sta);
enum ieee80211_sta_rx_bandwidth
ieee80211_sta_cur_vht_bw(struct link_sta_info *link_sta);
__NL80211_ATTR_AFTER_LAST,
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -3077,6 +3077,19 @@ static int ieee80211_get_tx_power(struct
+@@ -3078,6 +3078,19 @@ static int ieee80211_get_tx_power(struct
return 0;
}
static void ieee80211_rfkill_poll(struct wiphy *wiphy)
{
struct ieee80211_local *local = wiphy_priv(wiphy);
-@@ -5007,6 +5020,7 @@ const struct cfg80211_ops mac80211_confi
+@@ -5008,6 +5021,7 @@ const struct cfg80211_ops mac80211_confi
.set_wiphy_params = ieee80211_set_wiphy_params,
.set_tx_power = ieee80211_set_tx_power,
.get_tx_power = ieee80211_get_tx_power,
if (local->hw.conf.power_level != power) {
changed |= IEEE80211_CONF_CHANGE_POWER;
local->hw.conf.power_level = power;
-@@ -759,6 +765,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -766,6 +772,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
IEEE80211_RADIOTAP_MCS_HAVE_BW;
local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI |
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;