mac80211: Update to 4.19.137-1

b43 and b43legacy now support ieee80211w, hardware crypto will be
deactivated in such cases.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
openwrt-19.07
Hauke Mehrtens 2020-08-07 19:02:57 +02:00
parent 148d59c67e
commit d6b158b869
27 changed files with 64 additions and 64 deletions

View File

@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211 PKG_NAME:=mac80211
PKG_VERSION:=4.19.120-1 PKG_VERSION:=4.19.137-1
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19.120/ PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19.137/
PKG_HASH:=2bafd75da301a30a5f2b98f433b6545d7b58c1fc3af15e9e9aa085df7f9db1d4 PKG_HASH:=dc5eea4f77fc5c43b69e38f46fbf766880fa4bdeef83dcc8dcc85aa6b645bb7c
PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)

View File

@ -105,7 +105,7 @@ define KernelPackage/b43
CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM=y
# Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb # Depend on PCI_SUPPORT to make sure we can select kmod-bcma or kmod-ssb
DEPENDS += \ DEPENDS += \
@PCI_SUPPORT +kmod-mac80211 \ @PCI_SUPPORT +@DRIVER_11W_SUPPORT +kmod-mac80211 \
$(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \ $(if $(CONFIG_PACKAGE_B43_USE_SSB),+kmod-ssb) \
$(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma) $(if $(CONFIG_PACKAGE_B43_USE_BCMA),+kmod-bcma)
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43/b43.ko
@ -347,7 +347,7 @@ define KernelPackage/b43legacy
URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43 URL:=https://wireless.wiki.kernel.org/en/users/drivers/b43
KCONFIG:= \ KCONFIG:= \
CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM=y
DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb @!TARGET_brcm47xx_mips74k +b43legacy-firmware DEPENDS+= +kmod-mac80211 +!(TARGET_brcm47xx||TARGET_brcm63xx):kmod-ssb @!TARGET_brcm47xx_mips74k +b43legacy-firmware +@DRIVER_11W_SUPPORT
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/broadcom/b43legacy/b43legacy.ko
AUTOLOAD:=$(call AutoProbe,b43legacy) AUTOLOAD:=$(call AutoProbe,b43legacy)
MENU:=1 MENU:=1

View File

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath10k/mac.c --- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8297,6 +8297,21 @@ static int ath10k_mac_init_rd(struct ath @@ -8300,6 +8300,21 @@ static int ath10k_mac_init_rd(struct ath
return 0; return 0;
} }
@ -22,7 +22,7 @@
int ath10k_mac_register(struct ath10k *ar) int ath10k_mac_register(struct ath10k *ar)
{ {
static const u32 cipher_suites[] = { static const u32 cipher_suites[] = {
@@ -8581,6 +8596,12 @@ int ath10k_mac_register(struct ath10k *a @@ -8584,6 +8599,12 @@ int ath10k_mac_register(struct ath10k *a
wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);

View File

@ -13,7 +13,7 @@ v2: fix trailing whitespace issue and fix some typos within the commit note
2 files changed, 8 insertions(+), 10 deletions(-) 2 files changed, 8 insertions(+), 10 deletions(-)
--- a/drivers/net/wireless/ath/ath10k/mac.c --- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -4480,13 +4480,6 @@ static struct ieee80211_sta_vht_cap ath1 @@ -4483,13 +4483,6 @@ static struct ieee80211_sta_vht_cap ath1
vht_cap.cap |= val; vht_cap.cap |= val;
} }

View File

@ -415,7 +415,7 @@ v13:
/* Rates */ /* Rates */
--- a/drivers/net/wireless/ath/ath10k/wmi-ops.h --- a/drivers/net/wireless/ath/ath10k/wmi-ops.h
+++ b/drivers/net/wireless/ath/ath10k/wmi-ops.h +++ b/drivers/net/wireless/ath/ath10k/wmi-ops.h
@@ -216,7 +216,10 @@ struct wmi_ops { @@ -217,7 +217,10 @@ struct wmi_ops {
struct sk_buff *(*gen_echo)(struct ath10k *ar, u32 value); struct sk_buff *(*gen_echo)(struct ath10k *ar, u32 value);
struct sk_buff *(*gen_pdev_get_tpc_table_cmdid)(struct ath10k *ar, struct sk_buff *(*gen_pdev_get_tpc_table_cmdid)(struct ath10k *ar,
u32 param); u32 param);
@ -426,7 +426,7 @@ v13:
}; };
int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id); int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id);
@@ -1054,6 +1057,35 @@ ath10k_wmi_force_fw_hang(struct ath10k * @@ -1064,6 +1067,35 @@ ath10k_wmi_force_fw_hang(struct ath10k *
return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid); return ath10k_wmi_cmd_send(ar, skb, ar->wmi.cmd->force_fw_hang_cmdid);
} }
@ -464,7 +464,7 @@ v13:
{ {
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
@@ -3976,6 +3976,8 @@ static const struct wmi_ops wmi_tlv_ops @@ -3991,6 +3991,8 @@ static const struct wmi_ops wmi_tlv_ops
.gen_echo = ath10k_wmi_tlv_op_gen_echo, .gen_echo = ath10k_wmi_tlv_op_gen_echo,
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf, .gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
.gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable, .gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,

View File

@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
if (ret) if (ret)
--- a/drivers/net/wireless/ath/ath10k/mac.c --- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -8613,7 +8613,7 @@ int ath10k_mac_register(struct ath10k *a @@ -8616,7 +8616,7 @@ int ath10k_mac_register(struct ath10k *a
wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST);
#ifdef CPTCFG_MAC80211_LEDS #ifdef CPTCFG_MAC80211_LEDS

View File

@ -43,7 +43,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss) static int ath10k_mac_get_max_vht_mcs_map(u16 mcs_map, int nss)
{ {
switch ((mcs_map >> (2 * nss)) & 0x3) { switch ((mcs_map >> (2 * nss)) & 0x3) {
@@ -5482,9 +5498,10 @@ static void ath10k_bss_info_changed(stru @@ -5485,9 +5501,10 @@ static void ath10k_bss_info_changed(stru
struct cfg80211_chan_def def; struct cfg80211_chan_def def;
u32 vdev_param, pdev_param, slottime, preamble; u32 vdev_param, pdev_param, slottime, preamble;
u16 bitrate, hw_value; u16 bitrate, hw_value;
@ -56,7 +56,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
mutex_lock(&ar->conf_mutex); mutex_lock(&ar->conf_mutex);
@@ -5690,6 +5707,30 @@ static void ath10k_bss_info_changed(stru @@ -5693,6 +5710,30 @@ static void ath10k_bss_info_changed(stru
arvif->vdev_id, ret); arvif->vdev_id, ret);
} }

View File

@ -26,7 +26,7 @@ Origin: backport, https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
if (ath10k_rates[i].bitrate == bitrate) if (ath10k_rates[i].bitrate == bitrate)
return hw_value_prefix | ath10k_rates[i].hw_value; return hw_value_prefix | ath10k_rates[i].hw_value;
} }
@@ -5713,22 +5713,22 @@ static void ath10k_bss_info_changed(stru @@ -5716,22 +5716,22 @@ static void ath10k_bss_info_changed(stru
return; return;
} }

View File

@ -17,7 +17,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
--- a/drivers/net/wireless/ath/ath10k/mac.c --- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -5498,8 +5498,8 @@ static void ath10k_bss_info_changed(stru @@ -5501,8 +5501,8 @@ static void ath10k_bss_info_changed(stru
struct cfg80211_chan_def def; struct cfg80211_chan_def def;
u32 vdev_param, pdev_param, slottime, preamble; u32 vdev_param, pdev_param, slottime, preamble;
u16 bitrate, hw_value; u16 bitrate, hw_value;
@ -28,7 +28,7 @@ Origin: other, https://patchwork.kernel.org/patch/10723033/
enum nl80211_band band; enum nl80211_band band;
const struct ieee80211_supported_band *sband; const struct ieee80211_supported_band *sband;
@@ -5672,7 +5672,11 @@ static void ath10k_bss_info_changed(stru @@ -5675,7 +5675,11 @@ static void ath10k_bss_info_changed(stru
if (changed & BSS_CHANGED_MCAST_RATE && if (changed & BSS_CHANGED_MCAST_RATE &&
!ath10k_mac_vif_chan(arvif->vif, &def)) { !ath10k_mac_vif_chan(arvif->vif, &def)) {
band = def.chan->band; band = def.chan->band;

View File

@ -39,7 +39,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
num = 0; num = 0;
/* Validate all the subframe headers */ /* Validate all the subframe headers */
@@ -3426,7 +3425,6 @@ static int brcmf_sdio_bus_preinit(struct @@ -3428,7 +3427,6 @@ static int brcmf_sdio_bus_preinit(struct
struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio; struct brcmf_sdio_dev *sdiodev = bus_if->bus_priv.sdio;
struct brcmf_sdio *bus = sdiodev->bus; struct brcmf_sdio *bus = sdiodev->bus;
struct brcmf_core *core = bus->sdio_core; struct brcmf_core *core = bus->sdio_core;
@ -47,7 +47,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
u32 value; u32 value;
int err; int err;
@@ -3467,7 +3465,6 @@ static int brcmf_sdio_bus_preinit(struct @@ -3469,7 +3467,6 @@ static int brcmf_sdio_bus_preinit(struct
if (sdiodev->sg_support) { if (sdiodev->sg_support) {
bus->txglom = false; bus->txglom = false;
value = 1; value = 1;

View File

@ -67,7 +67,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
fwreq->bus_nr = devinfo->pdev->bus->number; fwreq->bus_nr = devinfo->pdev->bus->number;
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -4213,6 +4213,7 @@ brcmf_sdio_prepare_fw_request(struct brc @@ -4215,6 +4215,7 @@ brcmf_sdio_prepare_fw_request(struct brc
fwreq->items[BRCMF_SDIO_FW_CODE].type = BRCMF_FW_TYPE_BINARY; fwreq->items[BRCMF_SDIO_FW_CODE].type = BRCMF_FW_TYPE_BINARY;
fwreq->items[BRCMF_SDIO_FW_NVRAM].type = BRCMF_FW_TYPE_NVRAM; fwreq->items[BRCMF_SDIO_FW_NVRAM].type = BRCMF_FW_TYPE_NVRAM;

View File

@ -100,7 +100,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
if (on) { if (on) {
/* device WAKEUP through KSO: /* device WAKEUP through KSO:
* write bit 0 & read back until * write bit 0 & read back until
@@ -2414,6 +2424,14 @@ static int brcmf_sdio_tx_ctrlframe(struc @@ -2416,6 +2426,14 @@ static int brcmf_sdio_tx_ctrlframe(struc
return ret; return ret;
} }
@ -115,7 +115,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
static void brcmf_sdio_bus_stop(struct device *dev) static void brcmf_sdio_bus_stop(struct device *dev)
{ {
struct brcmf_bus *bus_if = dev_get_drvdata(dev); struct brcmf_bus *bus_if = dev_get_drvdata(dev);
@@ -2421,7 +2439,7 @@ static void brcmf_sdio_bus_stop(struct d @@ -2423,7 +2441,7 @@ static void brcmf_sdio_bus_stop(struct d
struct brcmf_sdio *bus = sdiodev->bus; struct brcmf_sdio *bus = sdiodev->bus;
struct brcmf_core *core = bus->sdio_core; struct brcmf_core *core = bus->sdio_core;
u32 local_hostintmask; u32 local_hostintmask;
@ -124,7 +124,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
int err; int err;
brcmf_dbg(TRACE, "Enter\n"); brcmf_dbg(TRACE, "Enter\n");
@@ -2448,9 +2466,14 @@ static void brcmf_sdio_bus_stop(struct d @@ -2450,9 +2468,14 @@ static void brcmf_sdio_bus_stop(struct d
/* Force backplane clocks to assure F2 interrupt propagates */ /* Force backplane clocks to assure F2 interrupt propagates */
saveclk = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, saveclk = brcmf_sdiod_readb(sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
&err); &err);
@ -142,7 +142,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
if (err) if (err)
brcmf_err("Failed to force clock for F2: err %d\n", brcmf_err("Failed to force clock for F2: err %d\n",
err); err);
@@ -3343,20 +3366,45 @@ err: @@ -3345,20 +3368,45 @@ err:
return bcmerror; return bcmerror;
} }
@ -190,7 +190,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, val, &err); brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_WAKEUPCTRL, val, &err);
if (err) { if (err) {
brcmf_err("error writing SBSDIO_FUNC1_WAKEUPCTRL\n"); brcmf_err("error writing SBSDIO_FUNC1_WAKEUPCTRL\n");
@@ -3365,8 +3413,7 @@ static void brcmf_sdio_sr_init(struct br @@ -3367,8 +3415,7 @@ static void brcmf_sdio_sr_init(struct br
/* Add CMD14 Support */ /* Add CMD14 Support */
brcmf_sdiod_func0_wb(bus->sdiodev, SDIO_CCCR_BRCM_CARDCAP, brcmf_sdiod_func0_wb(bus->sdiodev, SDIO_CCCR_BRCM_CARDCAP,
@ -200,7 +200,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
&err); &err);
if (err) { if (err) {
brcmf_err("error writing SDIO_CCCR_BRCM_CARDCAP\n"); brcmf_err("error writing SDIO_CCCR_BRCM_CARDCAP\n");
@@ -3374,7 +3421,7 @@ static void brcmf_sdio_sr_init(struct br @@ -3376,7 +3423,7 @@ static void brcmf_sdio_sr_init(struct br
} }
brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR, brcmf_sdiod_writeb(bus->sdiodev, SBSDIO_FUNC1_CHIPCLKCSR,
@ -209,7 +209,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
if (err) { if (err) {
brcmf_err("error writing SBSDIO_FUNC1_CHIPCLKCSR\n"); brcmf_err("error writing SBSDIO_FUNC1_CHIPCLKCSR\n");
return; return;
@@ -4065,7 +4112,7 @@ static void brcmf_sdio_firmware_callback @@ -4067,7 +4114,7 @@ static void brcmf_sdio_firmware_callback
const struct firmware *code; const struct firmware *code;
void *nvram; void *nvram;
u32 nvram_len; u32 nvram_len;
@ -218,7 +218,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
u8 devctl; u8 devctl;
brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err); brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err);
@@ -4099,8 +4146,11 @@ static void brcmf_sdio_firmware_callback @@ -4101,8 +4148,11 @@ static void brcmf_sdio_firmware_callback
/* Force clocks on backplane to be sure F2 interrupt propagates */ /* Force clocks on backplane to be sure F2 interrupt propagates */
saveclk = brcmf_sdiod_readb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR, &err); saveclk = brcmf_sdiod_readb(sdiod, SBSDIO_FUNC1_CHIPCLKCSR, &err);
if (!err) { if (!err) {

View File

@ -29,7 +29,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
#ifdef DEBUG #ifdef DEBUG
@@ -4187,6 +4188,17 @@ static void brcmf_sdio_firmware_callback @@ -4189,6 +4190,17 @@ static void brcmf_sdio_firmware_callback
CY_4373_F2_WATERMARK | CY_4373_F2_WATERMARK |
SBSDIO_MESBUSYCTRL_ENAB, &err); SBSDIO_MESBUSYCTRL_ENAB, &err);
break; break;

View File

@ -30,7 +30,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -3369,7 +3369,11 @@ err: @@ -3371,7 +3371,11 @@ err:
static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus) static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus)
{ {

View File

@ -18,7 +18,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -3011,21 +3011,35 @@ static int brcmf_sdio_trap_info(struct s @@ -3013,21 +3013,35 @@ static int brcmf_sdio_trap_info(struct s
if (error < 0) if (error < 0)
return error; return error;
@ -69,7 +69,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
return 0; return 0;
} }
@@ -3079,8 +3093,10 @@ static int brcmf_sdio_checkdied(struct b @@ -3081,8 +3095,10 @@ static int brcmf_sdio_checkdied(struct b
else if (sh.flags & SDPCM_SHARED_ASSERT) else if (sh.flags & SDPCM_SHARED_ASSERT)
brcmf_err("assertion in dongle\n"); brcmf_err("assertion in dongle\n");
@ -81,7 +81,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
return 0; return 0;
} }
@@ -4211,7 +4227,7 @@ static void brcmf_sdio_firmware_callback @@ -4213,7 +4229,7 @@ static void brcmf_sdio_firmware_callback
} else { } else {
/* Disable F2 again */ /* Disable F2 again */
sdio_disable_func(sdiod->func2); sdio_disable_func(sdiod->func2);
@ -90,7 +90,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
} }
if (brcmf_chip_sr_capable(bus->ci)) { if (brcmf_chip_sr_capable(bus->ci)) {
@@ -4232,8 +4248,10 @@ static void brcmf_sdio_firmware_callback @@ -4234,8 +4250,10 @@ static void brcmf_sdio_firmware_callback
} }
/* If we didn't come up, turn off backplane clock */ /* If we didn't come up, turn off backplane clock */
@ -102,7 +102,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
sdio_release_host(sdiod->func1); sdio_release_host(sdiod->func1);
@@ -4247,12 +4265,15 @@ static void brcmf_sdio_firmware_callback @@ -4249,12 +4267,15 @@ static void brcmf_sdio_firmware_callback
err = brcmf_attach(sdiod->dev, sdiod->settings); err = brcmf_attach(sdiod->dev, sdiod->settings);
if (err != 0) { if (err != 0) {
brcmf_err("brcmf_attach failed\n"); brcmf_err("brcmf_attach failed\n");

View File

@ -153,7 +153,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
kfree(bus->msgbuf->flowrings); kfree(bus->msgbuf->flowrings);
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -4252,17 +4252,26 @@ static void brcmf_sdio_firmware_callback @@ -4254,17 +4254,26 @@ static void brcmf_sdio_firmware_callback
sdiod->bus_if->chip = bus->ci->chip; sdiod->bus_if->chip = bus->ci->chip;
sdiod->bus_if->chiprev = bus->ci->chiprev; sdiod->bus_if->chiprev = bus->ci->chiprev;

View File

@ -57,7 +57,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
#ifdef DEBUG #ifdef DEBUG
@@ -4210,6 +4212,19 @@ static void brcmf_sdio_firmware_callback @@ -4212,6 +4214,19 @@ static void brcmf_sdio_firmware_callback
brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl, brcmf_sdiod_writeb(sdiod, SBSDIO_DEVICE_CTL, devctl,
&err); &err);
break; break;

View File

@ -29,7 +29,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -4247,6 +4247,12 @@ static void brcmf_sdio_firmware_callback @@ -4249,6 +4249,12 @@ static void brcmf_sdio_firmware_callback
} }
if (err == 0) { if (err == 0) {
@ -42,7 +42,7 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
/* Allow full data communication using DPC from now on. */ /* Allow full data communication using DPC from now on. */
brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA); brcmf_sdiod_change_state(bus->sdiodev, BRCMF_SDIOD_DATA);
@@ -4263,12 +4269,6 @@ static void brcmf_sdio_firmware_callback @@ -4265,12 +4271,6 @@ static void brcmf_sdio_firmware_callback
sdio_release_host(sdiod->func1); sdio_release_host(sdiod->func1);

View File

@ -1,6 +1,6 @@
--- a/net/mac80211/cfg.c --- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c
@@ -2188,7 +2188,7 @@ static int ieee80211_scan(struct wiphy * @@ -2189,7 +2189,7 @@ static int ieee80211_scan(struct wiphy *
* the frames sent while scanning on other channel will be * the frames sent while scanning on other channel will be
* lost) * lost)
*/ */

View File

@ -10,7 +10,7 @@ Signed-off-by: Chaitanya TK <chaitanya.mgit@gmail.com>
--- a/include/linux/ieee80211.h --- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h
@@ -1659,6 +1659,7 @@ struct ieee80211_mu_edca_param_set { @@ -1668,6 +1668,7 @@ struct ieee80211_mu_edca_param_set {
#define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300 #define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300
#define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400 #define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400
#define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700 #define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700

View File

@ -12,7 +12,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/net/mac80211/status.c --- a/net/mac80211/status.c
+++ b/net/mac80211/status.c +++ b/net/mac80211/status.c
@@ -719,6 +719,7 @@ static void __ieee80211_tx_status(struct @@ -718,6 +718,7 @@ static void __ieee80211_tx_status(struct
int rates_idx; int rates_idx;
bool send_to_cooked; bool send_to_cooked;
bool acked; bool acked;
@ -20,7 +20,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
struct ieee80211_bar *bar; struct ieee80211_bar *bar;
int shift = 0; int shift = 0;
int tid = IEEE80211_NUM_TIDS; int tid = IEEE80211_NUM_TIDS;
@@ -736,6 +737,8 @@ static void __ieee80211_tx_status(struct @@ -735,6 +736,8 @@ static void __ieee80211_tx_status(struct
clear_sta_flag(sta, WLAN_STA_SP); clear_sta_flag(sta, WLAN_STA_SP);
acked = !!(info->flags & IEEE80211_TX_STAT_ACK); acked = !!(info->flags & IEEE80211_TX_STAT_ACK);
@ -29,7 +29,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/* mesh Peer Service Period support */ /* mesh Peer Service Period support */
if (ieee80211_vif_is_mesh(&sta->sdata->vif) && if (ieee80211_vif_is_mesh(&sta->sdata->vif) &&
@@ -800,12 +803,12 @@ static void __ieee80211_tx_status(struct @@ -799,12 +802,12 @@ static void __ieee80211_tx_status(struct
ieee80211_handle_filtered_frame(local, sta, skb); ieee80211_handle_filtered_frame(local, sta, skb);
return; return;
} else { } else {
@ -44,7 +44,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
sta->status_stats.msdu_failed[tid]++; sta->status_stats.msdu_failed[tid]++;
sta->status_stats.msdu_retries[tid] += sta->status_stats.msdu_retries[tid] +=
@@ -826,7 +829,7 @@ static void __ieee80211_tx_status(struct @@ -825,7 +828,7 @@ static void __ieee80211_tx_status(struct
acked, info->status.tx_time); acked, info->status.tx_time);
if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) { if (ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS)) {
@ -53,7 +53,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (sta->status_stats.lost_packets) if (sta->status_stats.lost_packets)
sta->status_stats.lost_packets = 0; sta->status_stats.lost_packets = 0;
@@ -834,6 +837,8 @@ static void __ieee80211_tx_status(struct @@ -833,6 +836,8 @@ static void __ieee80211_tx_status(struct
if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
sta->status_stats.last_tdls_pkt_time = sta->status_stats.last_tdls_pkt_time =
jiffies; jiffies;
@ -62,7 +62,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
} else { } else {
ieee80211_lost_packet(sta, info); ieee80211_lost_packet(sta, info);
} }
@@ -959,7 +964,7 @@ void ieee80211_tx_status_ext(struct ieee @@ -958,7 +963,7 @@ void ieee80211_tx_status_ext(struct ieee
sta = container_of(pubsta, struct sta_info, sta); sta = container_of(pubsta, struct sta_info, sta);
@ -71,7 +71,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
sta->status_stats.retry_failed++; sta->status_stats.retry_failed++;
sta->status_stats.retry_count += retry_count; sta->status_stats.retry_count += retry_count;
@@ -974,6 +979,8 @@ void ieee80211_tx_status_ext(struct ieee @@ -973,6 +978,8 @@ void ieee80211_tx_status_ext(struct ieee
sta->status_stats.last_tdls_pkt_time = jiffies; sta->status_stats.last_tdls_pkt_time = jiffies;
} else if (test_sta_flag(sta, WLAN_STA_PS_STA)) { } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
return; return;

View File

@ -385,7 +385,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*/ */
--- a/net/mac80211/status.c --- a/net/mac80211/status.c
+++ b/net/mac80211/status.c +++ b/net/mac80211/status.c
@@ -828,6 +828,12 @@ static void __ieee80211_tx_status(struct @@ -827,6 +827,12 @@ static void __ieee80211_tx_status(struct
ieee80211_sta_tx_notify(sta->sdata, (void *) skb->data, ieee80211_sta_tx_notify(sta->sdata, (void *) skb->data,
acked, info->status.tx_time); acked, info->status.tx_time);

View File

@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!(mshdr->flags & MESH_FLAGS_AE)) { if (!(mshdr->flags & MESH_FLAGS_AE)) {
--- a/net/mac80211/rx.c --- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c +++ b/net/mac80211/rx.c
@@ -2597,7 +2597,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 @@ -2621,7 +2621,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
struct ieee80211_local *local = rx->local; struct ieee80211_local *local = rx->local;
struct ieee80211_sub_if_data *sdata = rx->sdata; struct ieee80211_sub_if_data *sdata = rx->sdata;
struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
int tailroom = 0; int tailroom = 0;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr *) skb->data;
@@ -2690,7 +2690,9 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 @@ -2714,7 +2714,9 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
if (sdata->crypto_tx_tailroom_needed_cnt) if (sdata->crypto_tx_tailroom_needed_cnt)
tailroom = IEEE80211_ENCRYPT_TAILROOM; tailroom = IEEE80211_ENCRYPT_TAILROOM;
@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
sdata->encrypt_headroom, sdata->encrypt_headroom,
tailroom, GFP_ATOMIC); tailroom, GFP_ATOMIC);
if (!fwd_skb) if (!fwd_skb)
@@ -2722,6 +2724,12 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 @@ -2746,6 +2748,12 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
return RX_DROP_MONITOR; return RX_DROP_MONITOR;
} }
@ -159,7 +159,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct rcu_head rcu_head; struct rcu_head rcu_head;
--- a/net/mac80211/status.c --- a/net/mac80211/status.c
+++ b/net/mac80211/status.c +++ b/net/mac80211/status.c
@@ -515,6 +515,7 @@ static void ieee80211_report_used_skb(st @@ -514,6 +514,7 @@ static void ieee80211_report_used_skb(st
{ {
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_hdr *hdr = (void *)skb->data; struct ieee80211_hdr *hdr = (void *)skb->data;
@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
bool acked = info->flags & IEEE80211_TX_STAT_ACK; bool acked = info->flags & IEEE80211_TX_STAT_ACK;
if (dropped) if (dropped)
@@ -531,7 +532,7 @@ static void ieee80211_report_used_skb(st @@ -530,7 +531,7 @@ static void ieee80211_report_used_skb(st
skb->dev = NULL; skb->dev = NULL;
} else { } else {
unsigned int hdr_size = unsigned int hdr_size =
@ -176,7 +176,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* Check to see if packet is a TDLS teardown packet */ /* Check to see if packet is a TDLS teardown packet */
if (ieee80211_is_data(hdr->frame_control) && if (ieee80211_is_data(hdr->frame_control) &&
@@ -655,9 +656,22 @@ void ieee80211_tx_monitor(struct ieee802 @@ -654,9 +655,22 @@ void ieee80211_tx_monitor(struct ieee802
struct sk_buff *skb2; struct sk_buff *skb2;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_sub_if_data *sdata; struct ieee80211_sub_if_data *sdata;

View File

@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/mac80211/mesh_hwmp.c --- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c
@@ -1115,16 +1115,13 @@ int mesh_nexthop_resolve(struct ieee8021 @@ -1122,16 +1122,13 @@ int mesh_nexthop_resolve(struct ieee8021
struct mesh_path *mpath; struct mesh_path *mpath;
struct sk_buff *skb_to_free = NULL; struct sk_buff *skb_to_free = NULL;
u8 *target_addr = hdr->addr3; u8 *target_addr = hdr->addr3;
@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* no nexthop found, start resolving */ /* no nexthop found, start resolving */
mpath = mesh_path_lookup(sdata, target_addr); mpath = mesh_path_lookup(sdata, target_addr);
@@ -1132,8 +1129,7 @@ int mesh_nexthop_resolve(struct ieee8021 @@ -1139,8 +1136,7 @@ int mesh_nexthop_resolve(struct ieee8021
mpath = mesh_path_add(sdata, target_addr); mpath = mesh_path_add(sdata, target_addr);
if (IS_ERR(mpath)) { if (IS_ERR(mpath)) {
mesh_path_discard_frame(sdata, skb); mesh_path_discard_frame(sdata, skb);
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
} }
@@ -1147,13 +1143,10 @@ int mesh_nexthop_resolve(struct ieee8021 @@ -1154,13 +1150,10 @@ int mesh_nexthop_resolve(struct ieee8021
info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING; info->flags |= IEEE80211_TX_INTFL_NEED_TXPROCESSING;
ieee80211_set_qos_hdr(sdata, skb); ieee80211_set_qos_hdr(sdata, skb);
skb_queue_tail(&mpath->frame_queue, skb); skb_queue_tail(&mpath->frame_queue, skb);
@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
} }
/** /**
@@ -1173,13 +1166,10 @@ int mesh_nexthop_lookup(struct ieee80211 @@ -1180,13 +1173,10 @@ int mesh_nexthop_lookup(struct ieee80211
struct sta_info *next_hop; struct sta_info *next_hop;
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
u8 *target_addr = hdr->addr3; u8 *target_addr = hdr->addr3;
@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (time_after(jiffies, if (time_after(jiffies,
mpath->exp_time - mpath->exp_time -
@@ -1194,12 +1184,10 @@ int mesh_nexthop_lookup(struct ieee80211 @@ -1201,12 +1191,10 @@ int mesh_nexthop_lookup(struct ieee80211
memcpy(hdr->addr1, next_hop->sta.addr, ETH_ALEN); memcpy(hdr->addr1, next_hop->sta.addr, ETH_ALEN);
memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN); memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
ieee80211_mps_set_frame_flags(sdata, next_hop, hdr); ieee80211_mps_set_frame_flags(sdata, next_hop, hdr);

View File

@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata, void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata,
--- a/net/mac80211/status.c --- a/net/mac80211/status.c
+++ b/net/mac80211/status.c +++ b/net/mac80211/status.c
@@ -672,6 +672,11 @@ void ieee80211_tx_monitor(struct ieee802 @@ -671,6 +671,11 @@ void ieee80211_tx_monitor(struct ieee802
} }
} }

View File

@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/mac80211/rx.c --- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c +++ b/net/mac80211/rx.c
@@ -1508,7 +1508,15 @@ static void sta_ps_start(struct sta_info @@ -1507,7 +1507,15 @@ static void sta_ps_start(struct sta_info
return; return;
for (tid = 0; tid < ARRAY_SIZE(sta->sta.txq); tid++) { for (tid = 0; tid < ARRAY_SIZE(sta->sta.txq); tid++) {

View File

@ -57,7 +57,7 @@
__NL80211_ATTR_AFTER_LAST, __NL80211_ATTR_AFTER_LAST,
--- a/net/mac80211/cfg.c --- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c
@@ -2456,6 +2456,19 @@ static int ieee80211_get_tx_power(struct @@ -2457,6 +2457,19 @@ static int ieee80211_get_tx_power(struct
return 0; return 0;
} }
@ -77,7 +77,7 @@
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev, static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
const u8 *addr) const u8 *addr)
{ {
@@ -3845,6 +3858,7 @@ const struct cfg80211_ops mac80211_confi @@ -3846,6 +3859,7 @@ const struct cfg80211_ops mac80211_confi
.set_wiphy_params = ieee80211_set_wiphy_params, .set_wiphy_params = ieee80211_set_wiphy_params,
.set_tx_power = ieee80211_set_tx_power, .set_tx_power = ieee80211_set_tx_power,
.get_tx_power = ieee80211_get_tx_power, .get_tx_power = ieee80211_get_tx_power,