Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
aa9c3f36d5
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.10 = .109
|
||||
LINUX_KERNEL_HASH-5.10.109 = 18fb22ecb249669ea775474aee614dcb0697cab299068074fd9f0bafa32113dc
|
||||
LINUX_VERSION-5.10 = .110
|
||||
LINUX_KERNEL_HASH-5.10.110 = dbef6a06325433481551cb8cfca9254d908d0ae950bc809f3da8ade00c485693
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.15 = .31
|
||||
LINUX_KERNEL_HASH-5.15.31 = f621384b47d5bed927910bf5211e7b4ccac925f28218e483bb1a9c484b246b88
|
||||
LINUX_VERSION-5.15 = .33
|
||||
LINUX_KERNEL_HASH-5.15.33 = c30a17e6090f9ebf2d8ff58cd6c92c7324b1f4a8b3aa6a7f68850310af05a9c4
|
||||
|
||||
@ -65,6 +65,7 @@ define Meson/CreateNativeFile
|
||||
-e "s|@CXX@|$(foreach BIN,$(HOSTCXX),'$(BIN)',)|" \
|
||||
-e "s|@PKGCONFIG@|$(PKG_CONFIG)|" \
|
||||
-e "s|@CMAKE@|$(STAGING_DIR_HOST)/bin/cmake|" \
|
||||
-e "s|@PYTHON@|$(STAGING_DIR_HOST)/bin/python3|" \
|
||||
-e "s|@CFLAGS@|$(foreach FLAG,$(HOST_CFLAGS) $(HOST_CPPFLAGS),'$(FLAG)',)|" \
|
||||
-e "s|@CXXFLAGS@|$(foreach FLAG,$(HOST_CXXFLAGS) $(HOST_CPPFLAGS),'$(FLAG)',)|" \
|
||||
-e "s|@LDFLAGS@|$(foreach FLAG,$(HOST_LDFLAGS),'$(FLAG)',)|" \
|
||||
@ -82,6 +83,7 @@ define Meson/CreateCrossFile
|
||||
-e "s|@NM@|$(TARGET_NM)|" \
|
||||
-e "s|@PKGCONFIG@|$(PKG_CONFIG)|" \
|
||||
-e "s|@CMAKE@|$(STAGING_DIR_HOST)/bin/cmake|" \
|
||||
-e "s|@PYTHON@|$(STAGING_DIR_HOST)/bin/python3|" \
|
||||
-e "s|@CFLAGS@|$(foreach FLAG,$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \
|
||||
-e "s|@CXXFLAGS@|$(foreach FLAG,$(TARGET_CXXFLAGS) $(EXTRA_CXXFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS),'$(FLAG)',)|" \
|
||||
-e "s|@LDFLAGS@|$(foreach FLAG,$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS),'$(FLAG)',)|" \
|
||||
|
||||
@ -48,9 +48,6 @@ $(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_COMMENT, $(P_XT)xt_comme
|
||||
$(eval $(call nf_add,IPT_CLUSTER,CONFIG_NETFILTER_XT_MATCH_CLUSTER, $(P_XT)xt_cluster))
|
||||
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)xt_LOG))
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)nf_log_common, lt 5.13))
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_V4)nf_log_ipv4, lt 5.13))
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)nf_log_syslog, ge 5.13))
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_TCPMSS, $(P_XT)xt_TCPMSS))
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_REJECT, $(P_V4)ipt_REJECT))
|
||||
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_TIME, $(P_XT)xt_time))
|
||||
@ -161,7 +158,6 @@ $(eval $(if $(NF_KMOD),$(call nf_add,NF_CONNTRACK,CONFIG_NF_DEFRAG_IPV6, $(P_V6)
|
||||
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_FILTER, $(P_V6)ip6table_filter),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MANGLE, $(P_V6)ip6table_mangle),))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_NF_LOG_IPV6, $(P_V6)nf_log_ipv6,lt 5.13),))
|
||||
|
||||
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_IPTABLES, ip6t_icmp6)))
|
||||
|
||||
@ -177,6 +173,13 @@ $(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_OPTS, $(P_V6)ip6t_hbh))
|
||||
$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_FRAG, $(P_V6)ip6t_frag))
|
||||
$(eval $(call nf_add,IPT_IPV6_EXTRA,CONFIG_IP6_NF_MATCH_RT, $(P_V6)ip6t_rt))
|
||||
|
||||
# log
|
||||
|
||||
$(eval $(call nf_add,NF_LOG,CONFIG_NF_LOG_COMMON, $(P_XT)nf_log_common, lt 5.13))
|
||||
$(eval $(call nf_add,NF_LOG,CONFIG_NF_LOG_IPV4, $(P_V4)nf_log_ipv4, lt 5.13))
|
||||
$(eval $(call nf_add,NF_LOG,CONFIG_NF_LOG_SYSLOG, $(P_XT)nf_log_syslog, ge 5.13))
|
||||
$(eval $(if $(NF_KMOD),$(call nf_add,NF_LOG6,CONFIG_NF_LOG_IPV6, $(P_V6)nf_log_ipv6,lt 5.13),))
|
||||
|
||||
# nat
|
||||
|
||||
# kernel only
|
||||
|
||||
@ -68,6 +68,9 @@ define Build/Trusted-Firmware-A/Target
|
||||
endef
|
||||
endef
|
||||
|
||||
define Build/Configure/Trusted-Firmware-A
|
||||
$(INSTALL_DIR) $(STAGING_DIR)/usr/include
|
||||
endef
|
||||
|
||||
define Build/Compile/Trusted-Firmware-A
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
|
||||
@ -91,10 +91,6 @@ TFA_MAKE_FLAGS += \
|
||||
$(if $(DDR3_FLYBY),DDR3_FLYBY=1) \
|
||||
all
|
||||
|
||||
define Build/Configure
|
||||
$(call Build/Configure/Default)
|
||||
endef
|
||||
|
||||
define Package/trusted-firmware-a/install
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/build/mt7622/release/bl2.img $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-bl2.img
|
||||
|
||||
@ -107,7 +107,7 @@ static struct bh_map button_map[] = {
|
||||
static __printf(3, 4)
|
||||
int bh_event_add_var(struct bh_event *event, int argv, const char *format, ...)
|
||||
{
|
||||
static char buf[128];
|
||||
char buf[128];
|
||||
char *s;
|
||||
va_list args;
|
||||
int len;
|
||||
|
||||
@ -57,7 +57,7 @@ define KernelPackage/nf-ipt6
|
||||
KCONFIG:=$(KCONFIG_NF_IPT6)
|
||||
FILES:=$(foreach mod,$(NF_IPT6-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_IPT6-m)))
|
||||
DEPENDS:=+kmod-nf-ipt
|
||||
DEPENDS:=+kmod-nf-ipt +kmod-nf-log6
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,nf-ipt6))
|
||||
@ -70,7 +70,7 @@ define KernelPackage/ipt-core
|
||||
KCONFIG:=$(KCONFIG_IPT_CORE)
|
||||
FILES:=$(foreach mod,$(IPT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(IPT_CORE-m)))
|
||||
DEPENDS:=+kmod-nf-reject +kmod-nf-ipt
|
||||
DEPENDS:=+kmod-nf-reject +kmod-nf-ipt +kmod-nf-log
|
||||
endef
|
||||
|
||||
define KernelPackage/ipt-core/description
|
||||
@ -121,6 +121,29 @@ endef
|
||||
$(eval $(call KernelPackage,nf-conntrack6))
|
||||
|
||||
|
||||
define KernelPackage/nf-log
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter Logging
|
||||
KCONFIG:=$(KCONFIG_NF_LOG)
|
||||
FILES:=$(foreach mod,$(NF_LOG-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_LOG-m)))
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,nf-log))
|
||||
|
||||
|
||||
define KernelPackage/nf-log6
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter IPV6 Logging
|
||||
KCONFIG:=$(KCONFIG_NF_LOG6)
|
||||
DEPENDS:=@IPV6 +kmod-nf-log
|
||||
FILES:=$(foreach mod,$(NF_LOG6-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NF_LOG6-m)))
|
||||
endef
|
||||
|
||||
$(eval $(call KernelPackage,nf-log6))
|
||||
|
||||
|
||||
define KernelPackage/nf-nat
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter NAT
|
||||
@ -1088,7 +1111,7 @@ $(eval $(call KernelPackage,ipt-rpfilter))
|
||||
define KernelPackage/nft-core
|
||||
SUBMENU:=$(NF_MENU)
|
||||
TITLE:=Netfilter nf_tables support
|
||||
DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +IPV6:kmod-nf-reject6 +IPV6:kmod-nf-conntrack6 +kmod-nf-nat +kmod-lib-crc32c
|
||||
DEPENDS:=+kmod-nfnetlink +kmod-nf-reject +IPV6:kmod-nf-reject6 +IPV6:kmod-nf-conntrack6 +kmod-nf-nat +kmod-nf-log +IPV6:kmod-nf-log6 +kmod-lib-crc32c
|
||||
FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
|
||||
AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m)))
|
||||
KCONFIG:= \
|
||||
|
||||
@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=mac80211
|
||||
|
||||
PKG_VERSION:=5.15.8-1
|
||||
PKG_RELEASE:=2
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.8/
|
||||
PKG_HASH:=9f71b659c034f19d156532ec780fcb606cee3c4ccc42e2f8ef18dd3e9f1b6820
|
||||
PKG_VERSION:=5.15.33-1
|
||||
PKG_RELEASE:=1
|
||||
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.33/
|
||||
PKG_HASH:=1b6b3bded4c81814ebebe2d194c2f8966d2399005b85ebb0557285b6e73f5422
|
||||
|
||||
PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
|
||||
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
|
||||
|
||||
@ -82,7 +82,7 @@
|
||||
help
|
||||
--- a/local-symbols
|
||||
+++ b/local-symbols
|
||||
@@ -76,6 +76,7 @@ ADM8211=
|
||||
@@ -83,6 +83,7 @@ ADM8211=
|
||||
ATH_COMMON=
|
||||
WLAN_VENDOR_ATH=
|
||||
ATH_DEBUG=
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/net/wireless/reg.c
|
||||
+++ b/net/wireless/reg.c
|
||||
@@ -3299,6 +3299,8 @@ void regulatory_hint_country_ie(struct w
|
||||
@@ -3304,6 +3304,8 @@ void regulatory_hint_country_ie(struct w
|
||||
enum environment_cap env = ENVIRON_ANY;
|
||||
struct regulatory_request *request = NULL, *lr;
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
/* IE len must be evenly divisible by 2 */
|
||||
if (country_ie_len & 0x01)
|
||||
return;
|
||||
@@ -3550,6 +3552,7 @@ static bool is_wiphy_all_set_reg_flag(en
|
||||
@@ -3555,6 +3557,7 @@ static bool is_wiphy_all_set_reg_flag(en
|
||||
|
||||
void regulatory_hint_disconnect(void)
|
||||
{
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
|
||||
--- a/local-symbols
|
||||
+++ b/local-symbols
|
||||
@@ -135,6 +135,7 @@ ATH10K_SNOC=
|
||||
@@ -142,6 +142,7 @@ ATH10K_SNOC=
|
||||
ATH10K_DEBUG=
|
||||
ATH10K_DEBUGFS=
|
||||
ATH10K_SPECTRAL=
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#include "core.h"
|
||||
@@ -935,7 +936,8 @@ static int ath10k_core_get_board_id_from
|
||||
@@ -952,7 +953,8 @@ static int ath10k_core_get_board_id_from
|
||||
}
|
||||
|
||||
if (ar->cal_mode == ATH10K_PRE_CAL_MODE_DT ||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
bmi_board_id_param = BMI_PARAM_GET_FLASH_BOARD_ID;
|
||||
else
|
||||
bmi_board_id_param = BMI_PARAM_GET_EEPROM_BOARD_ID;
|
||||
@@ -1726,7 +1728,8 @@ static int ath10k_download_and_run_otp(s
|
||||
@@ -1743,7 +1745,8 @@ static int ath10k_download_and_run_otp(s
|
||||
|
||||
/* As of now pre-cal is valid for 10_4 variants */
|
||||
if (ar->cal_mode == ATH10K_PRE_CAL_MODE_DT ||
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
bmi_otp_exe_param = BMI_PARAM_FLASH_SECTION_ALL;
|
||||
|
||||
ret = ath10k_bmi_execute(ar, address, bmi_otp_exe_param, &result);
|
||||
@@ -1853,6 +1856,39 @@ out_free:
|
||||
@@ -1870,6 +1873,39 @@ out_free:
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
int ath10k_core_fetch_firmware_api_n(struct ath10k *ar, const char *name,
|
||||
struct ath10k_fw_file *fw_file)
|
||||
{
|
||||
@@ -2087,6 +2123,18 @@ static int ath10k_core_pre_cal_download(
|
||||
@@ -2104,6 +2140,18 @@ static int ath10k_core_pre_cal_download(
|
||||
{
|
||||
int ret;
|
||||
|
||||
@ -113,7 +113,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
ret = ath10k_download_cal_file(ar, ar->pre_cal_file);
|
||||
if (ret == 0) {
|
||||
ar->cal_mode = ATH10K_PRE_CAL_MODE_FILE;
|
||||
@@ -2153,6 +2201,18 @@ static int ath10k_download_cal_data(stru
|
||||
@@ -2170,6 +2218,18 @@ static int ath10k_download_cal_data(stru
|
||||
"pre cal download procedure failed, try cal file: %d\n",
|
||||
ret);
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -3412,6 +3412,16 @@ int ath10k_core_register(struct ath10k *
|
||||
@@ -3429,6 +3429,16 @@ int ath10k_core_register(struct ath10k *
|
||||
|
||||
queue_work(ar->workqueue, &ar->register_work);
|
||||
|
||||
|
||||
@ -114,7 +114,7 @@ v13:
|
||||
ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o
|
||||
--- a/local-symbols
|
||||
+++ b/local-symbols
|
||||
@@ -136,6 +136,7 @@ ATH10K_DEBUG=
|
||||
@@ -143,6 +143,7 @@ ATH10K_DEBUG=
|
||||
ATH10K_DEBUGFS=
|
||||
ATH10K_SPECTRAL=
|
||||
ATH10K_THERMAL=
|
||||
@ -140,7 +140,7 @@ v13:
|
||||
.patch_load_addr = QCA988X_HW_2_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||
@@ -133,6 +135,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -135,6 +137,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA9887_1_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca9887 hw1.0",
|
||||
@ -148,7 +148,7 @@ v13:
|
||||
.patch_load_addr = QCA9887_HW_1_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_ALL,
|
||||
@@ -344,6 +347,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -352,6 +355,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA99X0_2_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca99x0 hw2.0",
|
||||
@ -156,7 +156,7 @@ v13:
|
||||
.patch_load_addr = QCA99X0_HW_2_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.otp_exe_param = 0x00000700,
|
||||
@@ -385,6 +389,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -394,6 +398,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA9984_1_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca9984/qca9994 hw1.0",
|
||||
@ -164,7 +164,7 @@ v13:
|
||||
.patch_load_addr = QCA9984_HW_1_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||
@@ -433,6 +438,7 @@ static const struct ath10k_hw_params ath
|
||||
@@ -443,6 +448,7 @@ static const struct ath10k_hw_params ath
|
||||
.dev_id = QCA9888_2_0_DEVICE_ID,
|
||||
.bus = ATH10K_BUS_PCI,
|
||||
.name = "qca9888 hw2.0",
|
||||
@ -172,7 +172,7 @@ v13:
|
||||
.patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR,
|
||||
.uart_pin = 7,
|
||||
.cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH,
|
||||
@@ -3127,6 +3133,10 @@ int ath10k_core_start(struct ath10k *ar,
|
||||
@@ -3144,6 +3150,10 @@ int ath10k_core_start(struct ath10k *ar,
|
||||
goto err_hif_stop;
|
||||
}
|
||||
|
||||
@ -183,7 +183,7 @@ v13:
|
||||
return 0;
|
||||
|
||||
err_hif_stop:
|
||||
@@ -3385,9 +3395,18 @@ static void ath10k_core_register_work(st
|
||||
@@ -3402,9 +3412,18 @@ static void ath10k_core_register_work(st
|
||||
goto err_spectral_destroy;
|
||||
}
|
||||
|
||||
@ -202,7 +202,7 @@ v13:
|
||||
err_spectral_destroy:
|
||||
ath10k_spectral_destroy(ar);
|
||||
err_debug_destroy:
|
||||
@@ -3433,6 +3452,8 @@ void ath10k_core_unregister(struct ath10
|
||||
@@ -3450,6 +3469,8 @@ void ath10k_core_unregister(struct ath10
|
||||
if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags))
|
||||
return;
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
||||
#include <linux/property.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <linux/ctype.h>
|
||||
@@ -3303,6 +3304,8 @@ static int ath10k_core_probe_fw(struct a
|
||||
@@ -3320,6 +3321,8 @@ static int ath10k_core_probe_fw(struct a
|
||||
|
||||
device_get_mac_address(ar->dev, ar->mac_addr, sizeof(ar->mac_addr));
|
||||
|
||||
|
||||
@ -371,7 +371,7 @@
|
||||
|
||||
--- a/local-symbols
|
||||
+++ b/local-symbols
|
||||
@@ -103,6 +103,7 @@ ATH9K_WOW=
|
||||
@@ -110,6 +110,7 @@ ATH9K_WOW=
|
||||
ATH9K_RFKILL=
|
||||
ATH9K_CHANNEL_CONTEXT=
|
||||
ATH9K_PCOEM=
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
|
||||
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
|
||||
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
|
||||
@@ -429,6 +429,7 @@ struct brcmf_fw {
|
||||
@@ -431,6 +431,7 @@ struct brcmf_fw {
|
||||
struct brcmf_fw_request *req;
|
||||
u32 curpos;
|
||||
void (*done)(struct device *dev, int err, struct brcmf_fw_request *req);
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
};
|
||||
|
||||
#ifdef CONFIG_EFI
|
||||
@@ -653,6 +654,8 @@ static void brcmf_fw_request_done(const
|
||||
@@ -655,6 +656,8 @@ static void brcmf_fw_request_done(const
|
||||
fwctx->req = NULL;
|
||||
}
|
||||
fwctx->done(fwctx->dev, ret, fwctx->req);
|
||||
@ -30,16 +30,16 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
kfree(fwctx);
|
||||
}
|
||||
|
||||
@@ -693,6 +696,8 @@ int brcmf_fw_get_firmwares(struct device
|
||||
@@ -695,6 +698,8 @@ int brcmf_fw_get_firmwares(struct device
|
||||
{
|
||||
struct brcmf_fw_item *first = &req->items[0];
|
||||
struct brcmf_fw *fwctx;
|
||||
+ struct completion completion;
|
||||
+ unsigned long time_left;
|
||||
char *alt_path;
|
||||
char *alt_path = NULL;
|
||||
int ret;
|
||||
|
||||
@@ -710,6 +715,9 @@ int brcmf_fw_get_firmwares(struct device
|
||||
@@ -712,6 +717,9 @@ int brcmf_fw_get_firmwares(struct device
|
||||
fwctx->dev = dev;
|
||||
fwctx->req = req;
|
||||
fwctx->done = fw_cb;
|
||||
@ -48,8 +48,8 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
+ fwctx->completion = &completion;
|
||||
|
||||
/* First try alternative board-specific path if any */
|
||||
alt_path = brcm_alt_fw_path(first->path, fwctx->req->board_type);
|
||||
@@ -726,6 +734,12 @@ int brcmf_fw_get_firmwares(struct device
|
||||
if (fwctx->req->board_type)
|
||||
@@ -730,6 +738,12 @@ int brcmf_fw_get_firmwares(struct device
|
||||
if (ret < 0)
|
||||
brcmf_fw_request_done(NULL, fwctx);
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/local-symbols
|
||||
+++ b/local-symbols
|
||||
@@ -421,43 +421,6 @@ USB_VL600=
|
||||
@@ -428,43 +428,6 @@ USB_VL600=
|
||||
USB_NET_CH9200=
|
||||
USB_NET_AQC111=
|
||||
USB_RTL8153_ECM=
|
||||
@ -192,7 +192,7 @@
|
||||
select BRCMUTIL
|
||||
--- a/Kconfig.local
|
||||
+++ b/Kconfig.local
|
||||
@@ -1267,117 +1267,6 @@ config BACKPORTED_USB_NET_AQC111
|
||||
@@ -1288,117 +1288,6 @@ config BACKPORTED_USB_NET_AQC111
|
||||
config BACKPORTED_USB_RTL8153_ECM
|
||||
tristate
|
||||
default USB_RTL8153_ECM
|
||||
@ -312,7 +312,7 @@
|
||||
default USB_ACM
|
||||
--- a/Kconfig.sources
|
||||
+++ b/Kconfig.sources
|
||||
@@ -7,9 +7,6 @@ source "$BACKPORT_DIR/net/mac80211/Kconf
|
||||
@@ -9,9 +9,6 @@ source "$BACKPORT_DIR/drivers/bus/mhi/Kc
|
||||
source "$BACKPORT_DIR/drivers/net/wireless/Kconfig"
|
||||
source "$BACKPORT_DIR/drivers/net/usb/Kconfig"
|
||||
|
||||
@ -324,9 +324,9 @@
|
||||
source "$BACKPORT_DIR/drivers/staging/Kconfig"
|
||||
--- a/Makefile.kernel
|
||||
+++ b/Makefile.kernel
|
||||
@@ -40,8 +40,6 @@ obj-y += compat/
|
||||
obj-$(CPTCFG_CFG80211) += net/wireless/
|
||||
obj-$(CPTCFG_MAC80211) += net/mac80211/
|
||||
@@ -42,8 +42,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/
|
||||
obj-$(CPTCFG_QRTR) += net/qrtr/
|
||||
obj-$(CPTCFG_MHI_BUS) += drivers/bus/mhi/
|
||||
obj-$(CPTCFG_WLAN) += drivers/net/wireless/
|
||||
-obj-$(CPTCFG_SSB) += drivers/ssb/
|
||||
-obj-$(CPTCFG_BCMA) += drivers/bcma/
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
|
||||
Date: Fri, 11 Mar 2022 18:21:04 +0100
|
||||
Subject: [PATCH] headers: fix lockdep_assert_not_held()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
LOCK_STATE_HELD define was omitted during backport of
|
||||
lockdep_assert_not_held() which leads to build failures of kernels with
|
||||
CONFIG_LOCKDEP=y:
|
||||
|
||||
backports-5.15.8-1/backport-include/linux/lockdep.h:16:47: error: 'LOCK_STATE_HELD' undeclared (first use in this function)
|
||||
|
||||
Fix it by adding missing LOCK_STATE_HELD define.
|
||||
|
||||
References: https://github.com/openwrt/openwrt/pull/9373
|
||||
References: https://lore.kernel.org/backports/20220311194800.452-1-ynezz@true.cz/T/#u
|
||||
Fixes: af58b27b1b1a ("headers: Add lockdep_assert_not_held()")
|
||||
Reported-by: Oskari Rauta <oskari.rauta@gmail.com>
|
||||
Signed-off-by: Petr Štetiar <ynezz@true.cz>
|
||||
---
|
||||
backport-include/linux/lockdep.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/backport-include/linux/lockdep.h b/backport-include/linux/lockdep.h
|
||||
index ed5ea67894e4..842e24b7ff8f 100644
|
||||
--- a/backport-include/linux/lockdep.h
|
||||
+++ b/backport-include/linux/lockdep.h
|
||||
@@ -11,6 +11,9 @@ struct lockdep_map { };
|
||||
|
||||
#ifndef lockdep_assert_not_held
|
||||
#ifdef CONFIG_LOCKDEP
|
||||
+#ifndef LOCK_STATE_HELD
|
||||
+#define LOCK_STATE_HELD 1
|
||||
+#endif /* LOCK_STATE_HELD */
|
||||
#define lockdep_assert_not_held(l) do { \
|
||||
WARN_ON(debug_locks && \
|
||||
lockdep_is_held(l) == LOCK_STATE_HELD); \
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/local-symbols
|
||||
+++ b/local-symbols
|
||||
@@ -315,6 +315,7 @@ RT2X00_LIB_FIRMWARE=
|
||||
@@ -322,6 +322,7 @@ RT2X00_LIB_FIRMWARE=
|
||||
RT2X00_LIB_CRYPTO=
|
||||
RT2X00_LIB_LEDS=
|
||||
RT2X00_LIB_DEBUGFS=
|
||||
|
||||
@ -2,7 +2,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects
|
||||
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -1316,7 +1316,6 @@ static int ieee80211_stop_ap(struct wiph
|
||||
@@ -1319,7 +1319,6 @@ static int ieee80211_stop_ap(struct wiph
|
||||
sdata->vif.bss_conf.ftmr_params = NULL;
|
||||
|
||||
__sta_info_flush(sdata, true);
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
static int ieee80211_ifa6_changed(struct notifier_block *nb,
|
||||
unsigned long data, void *arg)
|
||||
{
|
||||
@@ -1324,14 +1324,14 @@ int ieee80211_register_hw(struct ieee802
|
||||
@@ -1321,14 +1321,14 @@ int ieee80211_register_hw(struct ieee802
|
||||
wiphy_unlock(hw->wiphy);
|
||||
rtnl_unlock();
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
local->ifa6_notifier.notifier_call = ieee80211_ifa6_changed;
|
||||
result = register_inet6addr_notifier(&local->ifa6_notifier);
|
||||
if (result)
|
||||
@@ -1340,13 +1340,13 @@ int ieee80211_register_hw(struct ieee802
|
||||
@@ -1337,13 +1337,13 @@ int ieee80211_register_hw(struct ieee802
|
||||
|
||||
return 0;
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
fail_ifa:
|
||||
#endif
|
||||
wiphy_unregister(local->hw.wiphy);
|
||||
@@ -1374,10 +1374,10 @@ void ieee80211_unregister_hw(struct ieee
|
||||
@@ -1371,10 +1371,10 @@ void ieee80211_unregister_hw(struct ieee
|
||||
tasklet_kill(&local->tx_pending_tasklet);
|
||||
tasklet_kill(&local->tasklet);
|
||||
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Mon, 22 Nov 2021 21:39:38 +0100
|
||||
Subject: [PATCH] mac80211: fix rate control for retransmitted frames
|
||||
|
||||
Since retransmission clears info->control, rate control needs to be called
|
||||
again, otherwise the driver might crash due to invalid rates.
|
||||
|
||||
Cc: stable@vger.kernel.org # 5.14+
|
||||
Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
|
||||
Reported-by: Robert W <rwbugreport@lost-in-the-void.net>
|
||||
Fixes: 03c3911d2d67 ("mac80211: call ieee80211_tx_h_rate_ctrl() when dequeue")
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/tx.c
|
||||
+++ b/net/mac80211/tx.c
|
||||
@@ -1821,15 +1821,15 @@ static int invoke_tx_handlers_late(struc
|
||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(tx->skb);
|
||||
ieee80211_tx_result res = TX_CONTINUE;
|
||||
|
||||
+ if (!ieee80211_hw_check(&tx->local->hw, HAS_RATE_CONTROL))
|
||||
+ CALL_TXH(ieee80211_tx_h_rate_ctrl);
|
||||
+
|
||||
if (unlikely(info->flags & IEEE80211_TX_INTFL_RETRANSMISSION)) {
|
||||
__skb_queue_tail(&tx->skbs, tx->skb);
|
||||
tx->skb = NULL;
|
||||
goto txh_done;
|
||||
}
|
||||
|
||||
- if (!ieee80211_hw_check(&tx->local->hw, HAS_RATE_CONTROL))
|
||||
- CALL_TXH(ieee80211_tx_h_rate_ctrl);
|
||||
-
|
||||
CALL_TXH(ieee80211_tx_h_michael_mic_add);
|
||||
CALL_TXH(ieee80211_tx_h_sequence);
|
||||
CALL_TXH(ieee80211_tx_h_fragment);
|
||||
@ -1,44 +0,0 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Wed, 24 Nov 2021 10:30:41 +0100
|
||||
Subject: [PATCH] mac80211: fix regression in SSN handling of addba tx
|
||||
|
||||
Some drivers that do their own sequence number allocation (e.g. ath9k) rely
|
||||
on being able to modify params->ssn on starting tx ampdu sessions.
|
||||
This was broken by a change that modified it to use sta->tid_seq[tid] instead.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Fixes: 31d8bb4e07f8 ("mac80211: agg-tx: refactor sending addba")
|
||||
Reported-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/agg-tx.c
|
||||
+++ b/net/mac80211/agg-tx.c
|
||||
@@ -480,8 +480,7 @@ static void ieee80211_send_addba_with_ti
|
||||
|
||||
/* send AddBA request */
|
||||
ieee80211_send_addba_request(sdata, sta->sta.addr, tid,
|
||||
- tid_tx->dialog_token,
|
||||
- sta->tid_seq[tid] >> 4,
|
||||
+ tid_tx->dialog_token, tid_tx->ssn,
|
||||
buf_size, tid_tx->timeout);
|
||||
|
||||
WARN_ON(test_and_set_bit(HT_AGG_STATE_SENT_ADDBA, &tid_tx->state));
|
||||
@@ -523,6 +522,7 @@ void ieee80211_tx_ba_session_handle_star
|
||||
|
||||
params.ssn = sta->tid_seq[tid] >> 4;
|
||||
ret = drv_ampdu_action(local, sdata, ¶ms);
|
||||
+ tid_tx->ssn = params.ssn;
|
||||
if (ret == IEEE80211_AMPDU_TX_START_DELAY_ADDBA) {
|
||||
return;
|
||||
} else if (ret == IEEE80211_AMPDU_TX_START_IMMEDIATE) {
|
||||
--- a/net/mac80211/sta_info.h
|
||||
+++ b/net/mac80211/sta_info.h
|
||||
@@ -199,6 +199,7 @@ struct tid_ampdu_tx {
|
||||
u8 stop_initiator;
|
||||
bool tx_stop;
|
||||
u16 buf_size;
|
||||
+ u16 ssn;
|
||||
|
||||
u16 failed_bar_ssn;
|
||||
bool bar_pending;
|
||||
@ -52,7 +52,7 @@ Signed-off-by: Xing Song <xing.song@mediatek.com>
|
||||
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -2948,6 +2948,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
@@ -2949,6 +2949,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
if (!fwd_skb)
|
||||
goto out;
|
||||
|
||||
|
||||
@ -1,28 +0,0 @@
|
||||
From: Felix Fietkau <nbd@nbd.name>
|
||||
Date: Thu, 2 Dec 2021 13:30:05 +0100
|
||||
Subject: [PATCH] mac80211: send ADDBA requests using the tid/queue of the
|
||||
aggregation session
|
||||
|
||||
Sending them out on a different queue can cause a race condition where a
|
||||
number of packets in the queue may be discarded by the receiver, because
|
||||
the ADDBA request is sent too early.
|
||||
This affects any driver with software A-MPDU setup which does not allocate
|
||||
packet seqno in hardware on tx, regardless of whether iTXQ is used or not.
|
||||
The only driver I've seen that explicitly deals with this issue internally
|
||||
is mwl8k.
|
||||
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/agg-tx.c
|
||||
+++ b/net/mac80211/agg-tx.c
|
||||
@@ -106,7 +106,7 @@ static void ieee80211_send_addba_request
|
||||
mgmt->u.action.u.addba_req.start_seq_num =
|
||||
cpu_to_le16(start_seq_num << 4);
|
||||
|
||||
- ieee80211_tx_skb(sdata, skb);
|
||||
+ ieee80211_tx_skb_tid(sdata, skb, tid);
|
||||
}
|
||||
|
||||
void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn)
|
||||
@ -1,79 +0,0 @@
|
||||
From: Johannes Berg <johannes.berg@intel.com>
|
||||
Date: Mon, 29 Nov 2021 15:32:47 +0200
|
||||
Subject: [PATCH] mac80211: agg-tx: don't schedule_and_wake_txq() under
|
||||
sta->lock
|
||||
|
||||
When we call ieee80211_agg_start_txq(), that will in turn call
|
||||
schedule_and_wake_txq(). Called from ieee80211_stop_tx_ba_cb()
|
||||
this is done under sta->lock, which leads to certain circular
|
||||
lock dependencies, as reported by Chris Murphy:
|
||||
https://lore.kernel.org/r/CAJCQCtSXJ5qA4bqSPY=oLRMbv-irihVvP7A2uGutEbXQVkoNaw@mail.gmail.com
|
||||
|
||||
In general, ieee80211_agg_start_txq() is usually not called
|
||||
with sta->lock held, only in this one place. But it's always
|
||||
called with sta->ampdu_mlme.mtx held, and that's therefore
|
||||
clearly sufficient.
|
||||
|
||||
Change ieee80211_stop_tx_ba_cb() to also call it without the
|
||||
sta->lock held, by factoring it out of ieee80211_remove_tid_tx()
|
||||
(which is only called in this one place).
|
||||
|
||||
This breaks the locking chain and makes it less likely that
|
||||
we'll have similar locking chain problems in the future.
|
||||
|
||||
Reported-by: Chris Murphy <lists@colorremedies.com>
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/agg-tx.c
|
||||
+++ b/net/mac80211/agg-tx.c
|
||||
@@ -9,7 +9,7 @@
|
||||
* Copyright 2007, Michael Wu <flamingice@sourmilk.net>
|
||||
* Copyright 2007-2010, Intel Corporation
|
||||
* Copyright(c) 2015-2017 Intel Deutschland GmbH
|
||||
- * Copyright (C) 2018 - 2020 Intel Corporation
|
||||
+ * Copyright (C) 2018 - 2021 Intel Corporation
|
||||
*/
|
||||
|
||||
#include <linux/ieee80211.h>
|
||||
@@ -213,6 +213,8 @@ ieee80211_agg_start_txq(struct sta_info
|
||||
struct ieee80211_txq *txq = sta->sta.txq[tid];
|
||||
struct txq_info *txqi;
|
||||
|
||||
+ lockdep_assert_held(&sta->ampdu_mlme.mtx);
|
||||
+
|
||||
if (!txq)
|
||||
return;
|
||||
|
||||
@@ -290,7 +292,6 @@ static void ieee80211_remove_tid_tx(stru
|
||||
ieee80211_assign_tid_tx(sta, tid, NULL);
|
||||
|
||||
ieee80211_agg_splice_finish(sta->sdata, tid);
|
||||
- ieee80211_agg_start_txq(sta, tid, false);
|
||||
|
||||
kfree_rcu(tid_tx, rcu_head);
|
||||
}
|
||||
@@ -889,6 +890,7 @@ void ieee80211_stop_tx_ba_cb(struct sta_
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = sta->sdata;
|
||||
bool send_delba = false;
|
||||
+ bool start_txq = false;
|
||||
|
||||
ht_dbg(sdata, "Stopping Tx BA session for %pM tid %d\n",
|
||||
sta->sta.addr, tid);
|
||||
@@ -906,10 +908,14 @@ void ieee80211_stop_tx_ba_cb(struct sta_
|
||||
send_delba = true;
|
||||
|
||||
ieee80211_remove_tid_tx(sta, tid);
|
||||
+ start_txq = true;
|
||||
|
||||
unlock_sta:
|
||||
spin_unlock_bh(&sta->lock);
|
||||
|
||||
+ if (start_txq)
|
||||
+ ieee80211_agg_start_txq(sta, tid, false);
|
||||
+
|
||||
if (send_delba)
|
||||
ieee80211_send_delba(sdata, sta->sta.addr, tid,
|
||||
WLAN_BACK_INITIATOR, WLAN_REASON_QSTA_NOT_USE);
|
||||
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/drivers/net/wireless/mac80211_hwsim.c
|
||||
+++ b/drivers/net/wireless/mac80211_hwsim.c
|
||||
@@ -2992,15 +2992,19 @@ static void mac80211_hwsim_he_capab(stru
|
||||
@@ -3001,15 +3001,19 @@ static void mac80211_hwsim_he_capab(stru
|
||||
{
|
||||
u16 n_iftype_data;
|
||||
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -3290,6 +3294,12 @@ static int mac80211_hwsim_new_radio(stru
|
||||
@@ -3299,6 +3303,12 @@ static int mac80211_hwsim_new_radio(stru
|
||||
sband->vht_cap.vht_mcs.tx_mcs_map =
|
||||
sband->vht_cap.vht_mcs.rx_mcs_map;
|
||||
break;
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
case NL80211_BAND_S1GHZ:
|
||||
memcpy(&sband->s1g_cap, &hwsim_s1g_cap,
|
||||
sizeof(sband->s1g_cap));
|
||||
@@ -3300,6 +3310,13 @@ static int mac80211_hwsim_new_radio(stru
|
||||
@@ -3309,6 +3319,13 @@ static int mac80211_hwsim_new_radio(stru
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
sband->ht_cap.ht_supported = true;
|
||||
sband->ht_cap.cap = IEEE80211_HT_CAP_SUP_WIDTH_20_40 |
|
||||
IEEE80211_HT_CAP_GRN_FLD |
|
||||
@@ -3313,10 +3330,6 @@ static int mac80211_hwsim_new_radio(stru
|
||||
@@ -3322,10 +3339,6 @@ static int mac80211_hwsim_new_radio(stru
|
||||
sband->ht_cap.mcs.rx_mask[0] = 0xff;
|
||||
sband->ht_cap.mcs.rx_mask[1] = 0xff;
|
||||
sband->ht_cap.mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
|
||||
|
||||
@ -38,10 +38,10 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
/**
|
||||
--- a/net/mac80211/driver-ops.h
|
||||
+++ b/net/mac80211/driver-ops.h
|
||||
@@ -1483,4 +1483,28 @@ static inline void drv_twt_teardown_requ
|
||||
@@ -1486,4 +1486,28 @@ static inline void drv_twt_teardown_requ
|
||||
trace_drv_return_void(local);
|
||||
}
|
||||
|
||||
|
||||
+#if LINUX_VERSION_IS_GEQ(5,10,0)
|
||||
+static inline int drv_net_fill_forward_path(struct ieee80211_local *local,
|
||||
+ struct ieee80211_sub_if_data *sdata,
|
||||
@ -69,7 +69,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
#endif /* __MAC80211_DRIVER_OPS */
|
||||
--- a/net/mac80211/ieee80211_i.h
|
||||
+++ b/net/mac80211/ieee80211_i.h
|
||||
@@ -1465,7 +1465,7 @@ struct ieee80211_local {
|
||||
@@ -1485,7 +1485,7 @@ struct ieee80211_local {
|
||||
};
|
||||
|
||||
static inline struct ieee80211_sub_if_data *
|
||||
@ -147,7 +147,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
static const struct net_device_ops ieee80211_dataif_8023_ops = {
|
||||
#if LINUX_VERSION_IS_LESS(4,10,0)
|
||||
.ndo_change_mtu = __change_mtu,
|
||||
@@ -839,7 +901,9 @@ static const struct net_device_ops ieee8
|
||||
@@ -839,7 +899,9 @@ static const struct net_device_ops ieee8
|
||||
#else
|
||||
.ndo_get_stats64 = bp_ieee80211_get_stats64,
|
||||
#endif
|
||||
@ -163,7 +163,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
@@ -2892,6 +2892,15 @@ TRACE_EVENT(drv_twt_teardown_request,
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
+#if LINUX_VERSION_IS_GEQ(5,10,0)
|
||||
+DEFINE_EVENT(sta_event, drv_net_fill_forward_path,
|
||||
+ TP_PROTO(struct ieee80211_local *local,
|
||||
|
||||
@ -221,7 +221,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
--- a/net/wireless/nl80211.c
|
||||
+++ b/net/wireless/nl80211.c
|
||||
@@ -439,6 +439,16 @@ sar_policy[NL80211_SAR_ATTR_MAX + 1] = {
|
||||
@@ -442,6 +442,16 @@ sar_policy[NL80211_SAR_ATTR_MAX + 1] = {
|
||||
[NL80211_SAR_ATTR_SPECS] = NLA_POLICY_NESTED_ARRAY(sar_specs_policy),
|
||||
};
|
||||
|
||||
@ -238,7 +238,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
|
||||
[0] = { .strict_start_type = NL80211_ATTR_HE_OBSS_PD },
|
||||
[NL80211_ATTR_WIPHY] = { .type = NLA_U32 },
|
||||
@@ -780,6 +790,9 @@ static const struct nla_policy nl80211_p
|
||||
@@ -783,6 +793,9 @@ static const struct nla_policy nl80211_p
|
||||
[NL80211_ATTR_COLOR_CHANGE_COUNT] = { .type = NLA_U8 },
|
||||
[NL80211_ATTR_COLOR_CHANGE_COLOR] = { .type = NLA_U8 },
|
||||
[NL80211_ATTR_COLOR_CHANGE_ELEMS] = NLA_POLICY_NESTED(nl80211_policy),
|
||||
@ -248,7 +248,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -2228,6 +2241,35 @@ fail:
|
||||
@@ -2231,6 +2244,35 @@ fail:
|
||||
return -ENOBUFS;
|
||||
}
|
||||
|
||||
@ -284,7 +284,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
struct nl80211_dump_wiphy_state {
|
||||
s64 filter_wiphy;
|
||||
long start;
|
||||
@@ -2813,6 +2855,9 @@ static int nl80211_send_wiphy(struct cfg
|
||||
@@ -2816,6 +2858,9 @@ static int nl80211_send_wiphy(struct cfg
|
||||
if (nl80211_put_sar_specs(rdev, msg))
|
||||
goto nla_put_failure;
|
||||
|
||||
@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
/* done */
|
||||
state->split_start = 0;
|
||||
break;
|
||||
@@ -5002,6 +5047,96 @@ static int validate_beacon_tx_rate(struc
|
||||
@@ -5005,6 +5050,96 @@ static int validate_beacon_tx_rate(struc
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -391,7 +391,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
static int nl80211_parse_beacon(struct cfg80211_registered_device *rdev,
|
||||
struct nlattr *attrs[],
|
||||
struct cfg80211_beacon_data *bcn)
|
||||
@@ -5082,6 +5217,17 @@ static int nl80211_parse_beacon(struct c
|
||||
@@ -5085,6 +5220,17 @@ static int nl80211_parse_beacon(struct c
|
||||
bcn->ftm_responder = -1;
|
||||
}
|
||||
|
||||
@ -409,7 +409,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -5538,6 +5684,17 @@ static int nl80211_start_ap(struct sk_bu
|
||||
@@ -5541,6 +5687,17 @@ static int nl80211_start_ap(struct sk_bu
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -427,7 +427,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
nl80211_calculate_ap_params(¶ms);
|
||||
|
||||
if (info->attrs[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT])
|
||||
@@ -5559,6 +5716,11 @@ static int nl80211_start_ap(struct sk_bu
|
||||
@@ -5562,6 +5719,11 @@ static int nl80211_start_ap(struct sk_bu
|
||||
|
||||
out:
|
||||
kfree(params.acl);
|
||||
@ -439,7 +439,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -5583,12 +5745,14 @@ static int nl80211_set_beacon(struct sk_
|
||||
@@ -5586,12 +5748,14 @@ static int nl80211_set_beacon(struct sk_
|
||||
|
||||
err = nl80211_parse_beacon(rdev, info->attrs, ¶ms);
|
||||
if (err)
|
||||
@ -455,7 +455,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -9265,12 +9429,14 @@ static int nl80211_channel_switch(struct
|
||||
@@ -9268,12 +9432,14 @@ static int nl80211_channel_switch(struct
|
||||
|
||||
err = nl80211_parse_beacon(rdev, info->attrs, ¶ms.beacon_after);
|
||||
if (err)
|
||||
@ -473,7 +473,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
err = nla_parse_nested_deprecated(csa_attrs, NL80211_ATTR_MAX,
|
||||
info->attrs[NL80211_ATTR_CSA_IES],
|
||||
@@ -9389,6 +9555,8 @@ skip_beacons:
|
||||
@@ -9392,6 +9558,8 @@ skip_beacons:
|
||||
wdev_unlock(wdev);
|
||||
|
||||
free:
|
||||
@ -482,7 +482,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
kfree(csa_attrs);
|
||||
return err;
|
||||
}
|
||||
@@ -14924,6 +15092,8 @@ static int nl80211_color_change(struct s
|
||||
@@ -14939,6 +15107,8 @@ static int nl80211_color_change(struct s
|
||||
wdev_unlock(wdev);
|
||||
|
||||
out:
|
||||
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
--- a/net/wireless/core.c
|
||||
+++ b/net/wireless/core.c
|
||||
@@ -552,6 +552,7 @@ use_default_name:
|
||||
@@ -543,6 +543,7 @@ use_default_name:
|
||||
INIT_WORK(&rdev->rfkill_block, cfg80211_rfkill_block_work);
|
||||
INIT_WORK(&rdev->conn_work, cfg80211_conn_work);
|
||||
INIT_WORK(&rdev->event_work, cfg80211_event_work);
|
||||
@ -127,7 +127,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
init_waitqueue_head(&rdev->dev_wait);
|
||||
|
||||
@@ -1214,6 +1215,8 @@ void __cfg80211_leave(struct cfg80211_re
|
||||
@@ -1205,6 +1206,8 @@ void __cfg80211_leave(struct cfg80211_re
|
||||
|
||||
cfg80211_pmsr_wdev_down(wdev);
|
||||
|
||||
@ -286,7 +286,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
+}
|
||||
--- a/net/wireless/nl80211.c
|
||||
+++ b/net/wireless/nl80211.c
|
||||
@@ -793,6 +793,7 @@ static const struct nla_policy nl80211_p
|
||||
@@ -796,6 +796,7 @@ static const struct nla_policy nl80211_p
|
||||
[NL80211_ATTR_MBSSID_CONFIG] =
|
||||
NLA_POLICY_NESTED(nl80211_mbssid_config_policy),
|
||||
[NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED },
|
||||
@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -9269,12 +9270,6 @@ static int nl80211_start_radar_detection
|
||||
@@ -9272,12 +9273,6 @@ static int nl80211_start_radar_detection
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
@ -307,7 +307,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
err = cfg80211_chandef_dfs_required(wiphy, &chandef, wdev->iftype);
|
||||
if (err < 0)
|
||||
return err;
|
||||
@@ -9285,6 +9280,16 @@ static int nl80211_start_radar_detection
|
||||
@@ -9288,6 +9283,16 @@ static int nl80211_start_radar_detection
|
||||
if (!cfg80211_chandef_dfs_usable(wiphy, &chandef))
|
||||
return -EINVAL;
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
* cfg80211_gtk_rekey_notify - notify userspace about driver rekeying
|
||||
--- a/net/wireless/core.c
|
||||
+++ b/net/wireless/core.c
|
||||
@@ -552,7 +552,9 @@ use_default_name:
|
||||
@@ -543,7 +543,9 @@ use_default_name:
|
||||
INIT_WORK(&rdev->rfkill_block, cfg80211_rfkill_block_work);
|
||||
INIT_WORK(&rdev->conn_work, cfg80211_conn_work);
|
||||
INIT_WORK(&rdev->event_work, cfg80211_event_work);
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
init_waitqueue_head(&rdev->dev_wait);
|
||||
|
||||
@@ -1062,11 +1064,13 @@ void wiphy_unregister(struct wiphy *wiph
|
||||
@@ -1053,11 +1055,13 @@ void wiphy_unregister(struct wiphy *wiph
|
||||
cancel_work_sync(&rdev->conn_work);
|
||||
flush_work(&rdev->event_work);
|
||||
cancel_delayed_work_sync(&rdev->dfs_update_channels_wk);
|
||||
|
||||
@ -118,7 +118,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
NL80211_RADAR_CAC_ABORTED);
|
||||
--- a/net/wireless/nl80211.c
|
||||
+++ b/net/wireless/nl80211.c
|
||||
@@ -9260,42 +9260,60 @@ static int nl80211_start_radar_detection
|
||||
@@ -9263,42 +9263,60 @@ static int nl80211_start_radar_detection
|
||||
struct cfg80211_chan_def chandef;
|
||||
enum nl80211_dfs_regions dfs_region;
|
||||
unsigned int cac_time_ms;
|
||||
@ -198,7 +198,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
cac_time_ms = cfg80211_chandef_dfs_cac_time(&rdev->wiphy, &chandef);
|
||||
if (WARN_ON(!cac_time_ms))
|
||||
@@ -9308,6 +9326,9 @@ static int nl80211_start_radar_detection
|
||||
@@ -9311,6 +9329,9 @@ static int nl80211_start_radar_detection
|
||||
wdev->cac_start_time = jiffies;
|
||||
wdev->cac_time_ms = cac_time_ms;
|
||||
}
|
||||
@ -208,7 +208,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
return err;
|
||||
}
|
||||
|
||||
@@ -15926,7 +15947,8 @@ static const struct genl_small_ops nl802
|
||||
@@ -15941,7 +15962,8 @@ static const struct genl_small_ops nl802
|
||||
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
|
||||
.doit = nl80211_start_radar_detection,
|
||||
.flags = GENL_UNS_ADMIN_PERM,
|
||||
|
||||
@ -204,7 +204,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
bool cfg80211_any_wiphy_oper_chan(struct wiphy *wiphy,
|
||||
--- a/net/wireless/core.c
|
||||
+++ b/net/wireless/core.c
|
||||
@@ -552,9 +552,10 @@ use_default_name:
|
||||
@@ -543,9 +543,10 @@ use_default_name:
|
||||
INIT_WORK(&rdev->rfkill_block, cfg80211_rfkill_block_work);
|
||||
INIT_WORK(&rdev->conn_work, cfg80211_conn_work);
|
||||
INIT_WORK(&rdev->event_work, cfg80211_event_work);
|
||||
@ -218,7 +218,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
init_waitqueue_head(&rdev->dev_wait);
|
||||
|
||||
@@ -1064,13 +1065,13 @@ void wiphy_unregister(struct wiphy *wiph
|
||||
@@ -1055,13 +1056,13 @@ void wiphy_unregister(struct wiphy *wiph
|
||||
cancel_work_sync(&rdev->conn_work);
|
||||
flush_work(&rdev->event_work);
|
||||
cancel_delayed_work_sync(&rdev->dfs_update_channels_wk);
|
||||
@ -234,7 +234,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
if (rdev->wiphy.wowlan_config && rdev->ops->set_wakeup)
|
||||
@@ -1219,7 +1220,7 @@ void __cfg80211_leave(struct cfg80211_re
|
||||
@@ -1210,7 +1211,7 @@ void __cfg80211_leave(struct cfg80211_re
|
||||
|
||||
cfg80211_pmsr_wdev_down(wdev);
|
||||
|
||||
@ -472,7 +472,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
}
|
||||
--- a/net/wireless/nl80211.c
|
||||
+++ b/net/wireless/nl80211.c
|
||||
@@ -793,7 +793,7 @@ static const struct nla_policy nl80211_p
|
||||
@@ -796,7 +796,7 @@ static const struct nla_policy nl80211_p
|
||||
[NL80211_ATTR_MBSSID_CONFIG] =
|
||||
NLA_POLICY_NESTED(nl80211_mbssid_config_policy),
|
||||
[NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED },
|
||||
@ -481,7 +481,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -9288,9 +9288,9 @@ static int nl80211_start_radar_detection
|
||||
@@ -9291,9 +9291,9 @@ static int nl80211_start_radar_detection
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
From: Deren Wu <deren.wu@mediatek.com>
|
||||
Date: Sun, 13 Feb 2022 00:20:15 +0800
|
||||
Subject: [PATCH] mac80211: fix EAPoL rekey fail in 802.3 rx path
|
||||
|
||||
mac80211 set capability NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211
|
||||
to upper layer by default. That means we should pass EAPoL packets through
|
||||
nl80211 path only, and should not send the EAPoL skb to netdevice diretly.
|
||||
At the meanwhile, wpa_supplicant would not regist sock to listen EAPoL skb
|
||||
on the netdevice.
|
||||
|
||||
However, there is no contorl_port_protocol handler in mac80211 for 802.3 RX
|
||||
packets, mac80211 driver would pass up the EAPoL rekey frame to netdevice
|
||||
and wpa_supplicant would be never interactive with this kind of packets,
|
||||
if SUPPORTS_RX_DECAP_OFFLOAD is enabled. This causes STA always rekey fail
|
||||
if EAPoL frame go through 802.3 path.
|
||||
|
||||
To avoid this problem, align the same process as 802.11 type to handle
|
||||
this frame before put it into network stack.
|
||||
|
||||
Fixes: 80a915ec4427 ("mac80211: add rx decapsulation offload support")
|
||||
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -4523,16 +4523,7 @@ static void ieee80211_rx_8023(struct iee
|
||||
|
||||
/* deliver to local stack */
|
||||
skb->protocol = eth_type_trans(skb, fast_rx->dev);
|
||||
- memset(skb->cb, 0, sizeof(skb->cb));
|
||||
- if (rx->list)
|
||||
-#if LINUX_VERSION_IS_GEQ(4,19,0)
|
||||
- list_add_tail(&skb->list, rx->list);
|
||||
-#else
|
||||
- __skb_queue_tail(rx->list, skb);
|
||||
-#endif
|
||||
- else
|
||||
- netif_receive_skb(skb);
|
||||
-
|
||||
+ ieee80211_deliver_skb_to_local_stack(skb, rx);
|
||||
}
|
||||
|
||||
static bool ieee80211_invoke_fast_rx(struct ieee80211_rx_data *rx,
|
||||
@ -1,50 +0,0 @@
|
||||
From: Nicolas Escande <nico.escande@gmail.com>
|
||||
Date: Mon, 14 Feb 2022 18:32:14 +0100
|
||||
Subject: [PATCH] mac80211: fix forwarded mesh frames AC & queue selection
|
||||
|
||||
There are two problems with the current code that have been highlighted
|
||||
with the AQL feature that is now enbaled by default.
|
||||
|
||||
First problem is in ieee80211_rx_h_mesh_fwding(),
|
||||
ieee80211_select_queue_80211() is used on received packets to choose
|
||||
the sending AC queue of the forwarding packet although this function
|
||||
should only be called on TX packet (it uses ieee80211_tx_info).
|
||||
This ends with forwarded mesh packets been sent on unrelated random AC
|
||||
queue. To fix that, AC queue can directly be infered from skb->priority
|
||||
which has been extracted from QOS info (see ieee80211_parse_qos()).
|
||||
|
||||
Second problem is the value of queue_mapping set on forwarded mesh
|
||||
frames via skb_set_queue_mapping() is not the AC of the packet but a
|
||||
hardware queue index. This may or may not work depending on AC to HW
|
||||
queue mapping which is driver specific.
|
||||
|
||||
Both of these issues lead to improper AC selection while forwarding
|
||||
mesh packets but more importantly due to improper airtime accounting
|
||||
(which is done on a per STA, per AC basis) caused traffic stall with
|
||||
the introduction of AQL.
|
||||
|
||||
Fixes: cf44012810cc ("mac80211: fix unnecessary frame drops in mesh fwding")
|
||||
Fixes: d3c1597b8d1b ("mac80211: fix forwarded mesh frame queue mapping")
|
||||
Co-developed-by: Remi Pommarel <repk@triplefau.lt>
|
||||
Signed-off-by: Remi Pommarel <repk@triplefau.lt>
|
||||
Signed-off-by: Nicolas Escande <nico.escande@gmail.com>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -2921,13 +2921,13 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
|
||||
ether_addr_equal(sdata->vif.addr, hdr->addr3))
|
||||
return RX_CONTINUE;
|
||||
|
||||
- ac = ieee80211_select_queue_80211(sdata, skb, hdr);
|
||||
+ ac = ieee802_1d_to_ac[skb->priority];
|
||||
q = sdata->vif.hw_queue[ac];
|
||||
if (ieee80211_queue_stopped(&local->hw, q)) {
|
||||
IEEE80211_IFSTA_MESH_CTR_INC(ifmsh, dropped_frames_congestion);
|
||||
return RX_DROP_MONITOR;
|
||||
}
|
||||
- skb_set_queue_mapping(skb, q);
|
||||
+ skb_set_queue_mapping(skb, ac);
|
||||
|
||||
if (!--mesh_hdr->ttl) {
|
||||
if (!is_multicast_ether_addr(hdr->addr1))
|
||||
@ -106,7 +106,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
|
||||
if (csa) {
|
||||
new->cntdwn_current_counter = csa->count;
|
||||
@@ -1329,8 +1366,11 @@ static int ieee80211_stop_ap(struct wiph
|
||||
@@ -1332,8 +1369,11 @@ static int ieee80211_stop_ap(struct wiph
|
||||
|
||||
mutex_unlock(&local->mtx);
|
||||
|
||||
@ -246,7 +246,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
struct rcu_head rcu_head;
|
||||
};
|
||||
|
||||
@@ -1063,6 +1064,20 @@ ieee80211_vif_get_shift(struct ieee80211
|
||||
@@ -1083,6 +1084,20 @@ ieee80211_vif_get_shift(struct ieee80211
|
||||
return shift;
|
||||
}
|
||||
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
From: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Date: Mon, 3 Jan 2022 09:36:21 +0800
|
||||
Subject: [PATCH] mac80211: allow non-standard VHT MCS-10/11
|
||||
|
||||
Some AP can possibly try non-standard VHT rate and mac80211 warns and drops
|
||||
packets, and leads low TCP throughput.
|
||||
|
||||
Rate marked as a VHT rate but data is invalid: MCS: 10, NSS: 2
|
||||
WARNING: CPU: 1 PID: 7817 at net/mac80211/rx.c:4856 ieee80211_rx_list+0x223/0x2f0 [mac8021
|
||||
|
||||
Since commit c27aa56a72b8 ("cfg80211: add VHT rate entries for MCS-10 and MCS-11")
|
||||
has added, mac80211 adds this support as well.
|
||||
|
||||
After this patch, throughput is good and iw can get the bitrate:
|
||||
rx bitrate: 975.1 MBit/s VHT-MCS 10 80MHz short GI VHT-NSS 2
|
||||
or
|
||||
rx bitrate: 1083.3 MBit/s VHT-MCS 11 80MHz short GI VHT-NSS 2
|
||||
|
||||
Buglink: https://bugzilla.suse.com/show_bug.cgi?id=1192891
|
||||
Reported-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
|
||||
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
Link: https://lore.kernel.org/r/20220103013623.17052-1-pkshih@realtek.com
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/rx.c
|
||||
+++ b/net/mac80211/rx.c
|
||||
@@ -4945,7 +4945,7 @@ void ieee80211_rx_list(struct ieee80211_
|
||||
goto drop;
|
||||
break;
|
||||
case RX_ENC_VHT:
|
||||
- if (WARN_ONCE(status->rate_idx > 9 ||
|
||||
+ if (WARN_ONCE(status->rate_idx > 11 ||
|
||||
!status->nss ||
|
||||
status->nss > 8,
|
||||
"Rate marked as a VHT rate but data is invalid: MCS: %d, NSS: %d\n",
|
||||
@ -0,0 +1,61 @@
|
||||
From: Peter Seiderer <ps.report@gmx.net>
|
||||
Date: Mon, 4 Apr 2022 18:54:14 +0200
|
||||
Subject: [PATCH] mac80211: minstrel_ht: fix where rate stats are stored (fixes
|
||||
debugfs output)
|
||||
|
||||
Using an ath9k card the debugfs output of minstrel_ht looks like the following
|
||||
(note the zero values for the first four rates sum-of success/attempts):
|
||||
|
||||
best ____________rate__________ ____statistics___ _____last____ ______sum-of________
|
||||
mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
|
||||
OFDM 1 DP 6.0M 272 1640 5.2 3.1 53.8 3 0 0 0 0
|
||||
OFDM 1 C 9.0M 273 1104 7.7 4.6 53.8 4 0 0 0 0
|
||||
OFDM 1 B 12.0M 274 836 10.0 6.0 53.8 4 0 0 0 0
|
||||
OFDM 1 A S 18.0M 275 568 14.3 8.5 53.8 5 0 0 0 0
|
||||
OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 5 0 1 80 1778
|
||||
OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 107
|
||||
OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 75
|
||||
OFDM 1 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 72
|
||||
|
||||
Total packet count:: ideal 16582 lookaround 885
|
||||
Average # of aggregated frames per A-MPDU: 1.0
|
||||
|
||||
Debugging showed that the rate statistics for the first four rates where
|
||||
stored in the MINSTREL_CCK_GROUP instead of the MINSTREL_OFDM_GROUP because
|
||||
in minstrel_ht_get_stats() the supported check was not honoured as done in
|
||||
various other places, e.g net/mac80211/rc80211_minstrel_ht_debugfs.c:
|
||||
|
||||
74 if (!(mi->supported[i] & BIT(j)))
|
||||
75 continue;
|
||||
|
||||
With the patch applied the output looks good:
|
||||
|
||||
best ____________rate__________ ____statistics___ _____last____ ______sum-of________
|
||||
mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts]
|
||||
OFDM 1 D 6.0M 272 1640 5.2 5.2 100.0 3 0 0 1 1
|
||||
OFDM 1 C 9.0M 273 1104 7.7 7.7 100.0 4 0 0 38 38
|
||||
OFDM 1 B 12.0M 274 836 10.0 9.9 89.5 4 2 2 372 395
|
||||
OFDM 1 A P 18.0M 275 568 14.3 14.3 97.2 5 52 53 6956 7181
|
||||
OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 0 0 1 6 163
|
||||
OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 35
|
||||
OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 38
|
||||
OFDM 1 S 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 38
|
||||
|
||||
Total packet count:: ideal 7097 lookaround 287
|
||||
Average # of aggregated frames per A-MPDU: 1.0
|
||||
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/rc80211_minstrel_ht.c
|
||||
+++ b/net/mac80211/rc80211_minstrel_ht.c
|
||||
@@ -364,6 +364,9 @@ minstrel_ht_get_stats(struct minstrel_pr
|
||||
|
||||
group = MINSTREL_CCK_GROUP;
|
||||
for (idx = 0; idx < ARRAY_SIZE(mp->cck_rates); idx++) {
|
||||
+ if (!(mi->supported[group] & BIT(idx)))
|
||||
+ continue;
|
||||
+
|
||||
if (rate->idx != mp->cck_rates[idx])
|
||||
continue;
|
||||
|
||||
@ -5,7 +5,7 @@ and we should ignore this.
|
||||
|
||||
--- a/net/wireless/core.c
|
||||
+++ b/net/wireless/core.c
|
||||
@@ -634,21 +634,6 @@ static int wiphy_verify_combinations(str
|
||||
@@ -625,21 +625,6 @@ static int wiphy_verify_combinations(str
|
||||
c->limits[j].max > 1))
|
||||
return -EINVAL;
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@
|
||||
CFG80211_TESTMODE_DUMP(ieee80211_testmode_dump)
|
||||
--- a/net/mac80211/ieee80211_i.h
|
||||
+++ b/net/mac80211/ieee80211_i.h
|
||||
@@ -1444,6 +1444,7 @@ struct ieee80211_local {
|
||||
@@ -1464,6 +1464,7 @@ struct ieee80211_local {
|
||||
int dynamic_ps_forced_timeout;
|
||||
|
||||
int user_power_level; /* in dBm, for all interfaces */
|
||||
@ -129,7 +129,7 @@
|
||||
local->hw.max_mtu = IEEE80211_MAX_DATA_LEN;
|
||||
--- a/net/wireless/nl80211.c
|
||||
+++ b/net/wireless/nl80211.c
|
||||
@@ -794,6 +794,7 @@ static const struct nla_policy nl80211_p
|
||||
@@ -797,6 +797,7 @@ static const struct nla_policy nl80211_p
|
||||
NLA_POLICY_NESTED(nl80211_mbssid_config_policy),
|
||||
[NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED },
|
||||
[NL80211_ATTR_RADAR_BACKGROUND] = { .type = NLA_FLAG },
|
||||
@ -137,7 +137,7 @@
|
||||
};
|
||||
|
||||
/* policy for the key attributes */
|
||||
@@ -3374,6 +3375,22 @@ static int nl80211_set_wiphy(struct sk_b
|
||||
@@ -3377,6 +3378,22 @@ static int nl80211_set_wiphy(struct sk_b
|
||||
if (result)
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mwlwifi
|
||||
PKG_RELEASE=2
|
||||
PKG_RELEASE=3
|
||||
|
||||
PKG_LICENSE:=ISC
|
||||
PKG_LICENSE_FILES:=
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
From 392f8e9d798acff3079e753dd881e272f6150d74 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robert.marko@sartura.hr>
|
||||
Date: Wed, 30 Mar 2022 19:32:38 +0200
|
||||
Subject: [PATCH] mwlwifi: remove MODULE_SUPPORTED_DEVICE
|
||||
|
||||
Kernel 5.12 finally removed all MODULE_SUPPORTED_DEVICE references and
|
||||
support for it as it was never actually implemented and was safe to
|
||||
drop it completely.
|
||||
|
||||
So, do the same in order to compile in 5.12 and newer.
|
||||
|
||||
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
---
|
||||
hif/pcie/pcie.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
--- a/hif/pcie/pcie.c
|
||||
+++ b/hif/pcie/pcie.c
|
||||
@@ -31,7 +31,6 @@
|
||||
#include "hif/pcie/rx_ndp.h"
|
||||
|
||||
#define PCIE_DRV_DESC "Marvell Mac80211 Wireless PCIE Network Driver"
|
||||
-#define PCIE_DEV_NAME "Marvell 802.11ac PCIE Adapter"
|
||||
|
||||
#define MAX_WAIT_FW_COMPLETE_ITERATIONS 10000
|
||||
#define CHECK_BA_TRAFFIC_TIME 300 /* msec */
|
||||
@@ -1641,5 +1640,4 @@ MODULE_DESCRIPTION(PCIE_DRV_DESC);
|
||||
MODULE_VERSION(PCIE_DRV_VERSION);
|
||||
MODULE_AUTHOR("Marvell Semiconductor, Inc.");
|
||||
MODULE_LICENSE("GPL v2");
|
||||
-MODULE_SUPPORTED_DEVICE(PCIE_DEV_NAME);
|
||||
MODULE_DEVICE_TABLE(pci, pcie_id_tbl);
|
||||
@ -0,0 +1,39 @@
|
||||
From 16e51cb83f9fa1717383c9d67f5531df7348347c Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robert.marko@sartura.hr>
|
||||
Date: Wed, 30 Mar 2022 19:51:56 +0200
|
||||
Subject: [PATCH] mwlwifi: replace get/set_fs() calls
|
||||
|
||||
Since kernel 5.9 the get/set_fs() call implementation have started to get
|
||||
dropped from individual architectures, ARM64 one got dropped in 5.11.
|
||||
|
||||
Replace the get/set_fs() calls with force_uaccess_begin/end() to allow
|
||||
compiling on newer kernels.
|
||||
There is no need to add kernel version checks as the replacement functions
|
||||
are available since kernel 5.9.
|
||||
|
||||
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
---
|
||||
hif/pcie/pcie.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
--- a/hif/pcie/pcie.c
|
||||
+++ b/hif/pcie/pcie.c
|
||||
@@ -1293,8 +1293,7 @@ static void pcie_bf_mimo_ctrl_decode(str
|
||||
char *buf = &str_buf[0];
|
||||
mm_segment_t oldfs;
|
||||
|
||||
- oldfs = get_fs();
|
||||
- set_fs(KERNEL_DS);
|
||||
+ oldfs = force_uaccess_begin();
|
||||
|
||||
buf += sprintf(buf, "\nMAC: %pM\n", bf_mimo_ctrl->rec_mac);
|
||||
buf += sprintf(buf, "SU_0_MU_1: %d\n", bf_mimo_ctrl->type);
|
||||
@@ -1314,7 +1313,7 @@ static void pcie_bf_mimo_ctrl_decode(str
|
||||
filename, (unsigned int)fp_data);
|
||||
}
|
||||
|
||||
- set_fs(oldfs);
|
||||
+ force_uaccess_end(oldfs);
|
||||
}
|
||||
|
||||
static void pcie_process_account(struct ieee80211_hw *hw)
|
||||
@ -0,0 +1,31 @@
|
||||
From 8e809b241695252e397bf0d7fc5f36e115c38831 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Marko <robert.marko@sartura.hr>
|
||||
Date: Fri, 5 Mar 2021 11:47:59 +0100
|
||||
Subject: [PATCH] mwlwifi: fix PCIe DT node null pointer dereference
|
||||
|
||||
pci_bus_to_OF_node() used to get the PCI bus DT node
|
||||
returns node if found or NULL if none is found.
|
||||
|
||||
Since the return of pci_bus_to_OF_node() is not checked in
|
||||
the DT node name print it will cause a null pointer
|
||||
dereference and crash the kernel.
|
||||
|
||||
So first check whether the node is not NULL and then print.
|
||||
|
||||
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
|
||||
---
|
||||
hif/pcie/pcie.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/hif/pcie/pcie.c
|
||||
+++ b/hif/pcie/pcie.c
|
||||
@@ -570,7 +570,8 @@ static struct device_node *pcie_get_devi
|
||||
struct device_node *dev_node;
|
||||
|
||||
dev_node = pci_bus_to_OF_node(pcie_priv->pdev->bus);
|
||||
- wiphy_info(priv->hw->wiphy, "device node: %s\n", dev_node->full_name);
|
||||
+ if (dev_node)
|
||||
+ wiphy_info(priv->hw->wiphy, "device node: %s\n", dev_node->full_name);
|
||||
|
||||
return dev_node;
|
||||
}
|
||||
@ -8,14 +8,14 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libmnl
|
||||
PKG_VERSION:=1.0.4
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=1.0.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
http://www.netfilter.org/projects/libmnl/files \
|
||||
ftp://ftp.netfilter.org/pub/libmnl
|
||||
PKG_HASH:=171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81
|
||||
PKG_HASH:=274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525
|
||||
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libnfnetlink
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_RELEASE:=4
|
||||
PKG_VERSION:=1.0.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
http://www.netfilter.org/projects/libnfnetlink/files/ \
|
||||
ftp://ftp.netfilter.org/pub/libnfnetlink/
|
||||
PKG_HASH:=f270e19de9127642d2a11589ef2ec97ef90a649a74f56cf9a96306b04817b51a
|
||||
PKG_HASH:=b064c7c3d426efb4786e60a8e6859b82ee2f2c5e49ffeea640cfe4fe33cbc376
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=GPL-2.0+
|
||||
|
||||
|
||||
@ -1,20 +0,0 @@
|
||||
--- a/include/libnfnetlink/libnfnetlink.h
|
||||
+++ b/include/libnfnetlink/libnfnetlink.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#define aligned_u64 unsigned long long __attribute__((aligned(8)))
|
||||
#endif
|
||||
|
||||
+#include <sys/types.h>
|
||||
#include <sys/socket.h> /* for sa_family_t */
|
||||
#include <linux/netlink.h>
|
||||
#include <libnfnetlink/linux_nfnetlink.h>
|
||||
--- a/include/libnfnetlink/linux_nfnetlink.h
|
||||
+++ b/include/libnfnetlink/linux_nfnetlink.h
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef _NFNETLINK_H
|
||||
#define _NFNETLINK_H
|
||||
-#include <linux/types.h>
|
||||
+#include <sys/types.h>
|
||||
#include <libnfnetlink/linux_nfnetlink_compat.h>
|
||||
|
||||
enum nfnetlink_groups {
|
||||
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wolfssl
|
||||
PKG_VERSION:=5.1.1-stable
|
||||
PKG_VERSION:=5.2.0-stable
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION)
|
||||
PKG_HASH:=d3e0544dbe7e9587c0f6538cdc671b6492663bb7a4281819538abe6c99cdbd92
|
||||
PKG_HASH:=409b4646c5f54f642de0e9f3544c3b83de7238134f5b1ff93fb44527bf119d05
|
||||
|
||||
PKG_FIXUP:=libtool libtool-abiver
|
||||
PKG_INSTALL:=1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/wolfssl/wolfcrypt/settings.h
|
||||
+++ b/wolfssl/wolfcrypt/settings.h
|
||||
@@ -2346,7 +2346,7 @@ extern void uITRON4_free(void *p) ;
|
||||
@@ -2338,7 +2338,7 @@ extern void uITRON4_free(void *p) ;
|
||||
#endif
|
||||
|
||||
/* warning for not using harden build options (default with ./configure) */
|
||||
|
||||
@ -11,7 +11,7 @@ RNG regardless of the built settings for wolfssl.
|
||||
|
||||
--- a/wolfcrypt/src/ecc.c
|
||||
+++ b/wolfcrypt/src/ecc.c
|
||||
@@ -11647,21 +11647,21 @@ void wc_ecc_fp_free(void)
|
||||
@@ -11655,21 +11655,21 @@ void wc_ecc_fp_free(void)
|
||||
|
||||
#endif /* FP_ECC */
|
||||
|
||||
@ -37,7 +37,7 @@ RNG regardless of the built settings for wolfssl.
|
||||
|
||||
--- a/wolfssl/wolfcrypt/ecc.h
|
||||
+++ b/wolfssl/wolfcrypt/ecc.h
|
||||
@@ -647,10 +647,8 @@ WOLFSSL_API
|
||||
@@ -650,10 +650,8 @@ WOLFSSL_API
|
||||
void wc_ecc_fp_free(void);
|
||||
WOLFSSL_LOCAL
|
||||
void wc_ecc_fp_init(void);
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From 87e43dd63ba429297e439f2dfd1ee8b45981e18b Mon Sep 17 00:00:00 2001
|
||||
From: Juliusz Sosinowicz <juliusz@wolfssl.com>
|
||||
Date: Sat, 12 Feb 2022 00:34:24 +0100
|
||||
Subject: [PATCH] Reported in ZD13631
|
||||
@ -10,11 +10,9 @@ References: https://github.com/wolfSSL/wolfssl/issues/4879
|
||||
src/internal.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/internal.c b/src/internal.c
|
||||
index 0dded42a76c4..f5814d30607c 100644
|
||||
--- a/src/internal.c
|
||||
+++ b/src/internal.c
|
||||
@@ -12372,6 +12372,9 @@ int ProcessPeerCerts(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
||||
@@ -12342,6 +12342,9 @@ int ProcessPeerCerts(WOLFSSL* ssl, byte*
|
||||
}
|
||||
|
||||
ret = 0; /* clear errors and continue */
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=dropbear
|
||||
PKG_VERSION:=2020.81
|
||||
PKG_RELEASE:=2
|
||||
PKG_VERSION:=2022.82
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:= \
|
||||
http://matt.ucc.asn.au/dropbear/releases/ \
|
||||
https://matt.ucc.asn.au/dropbear/releases/ \
|
||||
https://dropbear.nl/mirror/releases/
|
||||
PKG_HASH:=48235d10b37775dbda59341ac0c4b239b82ad6318c31568b985730c788aac53b
|
||||
PKG_HASH:=3a038d2bbc02bf28bbdd20c012091f741a3ec5cbe460691811d714876aad75d1
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE libtomcrypt/LICENSE libtommath/LICENSE
|
||||
@ -42,7 +42,7 @@ ifneq ($(DUMP),1)
|
||||
endif
|
||||
|
||||
define Package/dropbear/Default
|
||||
URL:=http://matt.ucc.asn.au/dropbear/
|
||||
URL:=https://matt.ucc.asn.au/dropbear/
|
||||
endef
|
||||
|
||||
define Package/dropbear/config
|
||||
@ -130,8 +130,10 @@ DB_OPT_COMMON = \
|
||||
DB_OPT_CONFIG = \
|
||||
DROPBEAR_CURVE25519|CONFIG_DROPBEAR_CURVE25519|1|0 \
|
||||
DROPBEAR_ED25519|CONFIG_DROPBEAR_ED25519|1|0 \
|
||||
DROPBEAR_SK_ED25519|CONFIG_DROPBEAR_ED25519|1|0 \
|
||||
DROPBEAR_CHACHA20POLY1305|CONFIG_DROPBEAR_CHACHA20POLY1305|1|0 \
|
||||
DROPBEAR_ECDSA|CONFIG_DROPBEAR_ECC|1|0 \
|
||||
DROPBEAR_SK_ECDSA|CONFIG_DROPBEAR_ECC|1|0 \
|
||||
DROPBEAR_ECDH|CONFIG_DROPBEAR_ECC|1|0 \
|
||||
!!DROPBEAR_ECC_384|CONFIG_DROPBEAR_ECC_FULL|1|0 \
|
||||
!!DROPBEAR_ECC_521|CONFIG_DROPBEAR_ECC_FULL|1|0 \
|
||||
|
||||
@ -1,34 +1,50 @@
|
||||
--- a/svr-authpubkey.c
|
||||
+++ b/svr-authpubkey.c
|
||||
@@ -386,14 +386,19 @@ static int checkpubkey(const char* keyal
|
||||
goto out;
|
||||
}
|
||||
@@ -77,6 +77,13 @@ static void send_msg_userauth_pk_ok(cons
|
||||
const unsigned char* keyblob, unsigned int keybloblen);
|
||||
static int checkfileperm(char * filename);
|
||||
|
||||
- /* we don't need to check pw and pw_dir for validity, since
|
||||
- * its been done in checkpubkeyperms. */
|
||||
- len = strlen(ses.authstate.pw_dir);
|
||||
- /* allocate max required pathname storage,
|
||||
- * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
|
||||
- filename = m_malloc(len + 22);
|
||||
- snprintf(filename, len + 22, "%s/.ssh/authorized_keys",
|
||||
- ses.authstate.pw_dir);
|
||||
+ if (ses.authstate.pw_uid != 0) {
|
||||
+ /* we don't need to check pw and pw_dir for validity, since
|
||||
+ * its been done in checkpubkeyperms. */
|
||||
+ len = strlen(ses.authstate.pw_dir);
|
||||
+ /* allocate max required pathname storage,
|
||||
+ * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
|
||||
+ filename = m_malloc(len + 22);
|
||||
+ snprintf(filename, len + 22, "%s/.ssh/authorized_keys",
|
||||
+ ses.authstate.pw_dir);
|
||||
+ } else {
|
||||
+ filename = m_malloc(30);
|
||||
+ strncpy(filename, "/etc/dropbear/authorized_keys", 30);
|
||||
+ }
|
||||
+static const char * const global_authkeys_dir = "/etc/dropbear";
|
||||
+static const int n_global_authkeys_dir = 14; /* + 1 extra byte */
|
||||
+static const char * const user_authkeys_dir = ".ssh";
|
||||
+static const int n_user_authkeys_dir = 5; /* + 1 extra byte */
|
||||
+static const char * const authkeys_file = "authorized_keys";
|
||||
+static const int n_authkeys_file = 16; /* + 1 extra byte */
|
||||
+
|
||||
/* process a pubkey auth request, sending success or failure message as
|
||||
* appropriate */
|
||||
void svr_auth_pubkey(int valid_user) {
|
||||
@@ -439,14 +446,21 @@ static int checkpubkey(const char* keyal
|
||||
if (checkpubkeyperms() == DROPBEAR_FAILURE) {
|
||||
TRACE(("bad authorized_keys permissions, or file doesn't exist"))
|
||||
} else {
|
||||
- /* we don't need to check pw and pw_dir for validity, since
|
||||
- * its been done in checkpubkeyperms. */
|
||||
- len = strlen(ses.authstate.pw_dir);
|
||||
- /* allocate max required pathname storage,
|
||||
- * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
|
||||
- filename = m_malloc(len + 22);
|
||||
- snprintf(filename, len + 22, "%s/.ssh/authorized_keys",
|
||||
- ses.authstate.pw_dir);
|
||||
+ if (ses.authstate.pw_uid == 0) {
|
||||
+ len = n_global_authkeys_dir + n_authkeys_file;
|
||||
+ filename = m_malloc(len);
|
||||
+ snprintf(filename, len, "%s/%s", global_authkeys_dir, authkeys_file);
|
||||
+ } else {
|
||||
+ /* we don't need to check pw and pw_dir for validity, since
|
||||
+ * its been done in checkpubkeyperms. */
|
||||
+ len = strlen(ses.authstate.pw_dir);
|
||||
+ /* allocate max required pathname storage,
|
||||
+ * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
|
||||
+ len += n_user_authkeys_dir + n_authkeys_file + 1;
|
||||
+ filename = m_malloc(len);
|
||||
+ snprintf(filename, len, "%s/%s/%s", ses.authstate.pw_dir,
|
||||
+ user_authkeys_dir, authkeys_file);
|
||||
+ }
|
||||
|
||||
#if DROPBEAR_SVR_MULTIUSER
|
||||
/* open the file as the authenticating user. */
|
||||
@@ -474,27 +479,36 @@ static int checkpubkeyperms() {
|
||||
authfile = fopen(filename, "r");
|
||||
if (!authfile) {
|
||||
@@ -520,27 +534,41 @@ static int checkpubkeyperms() {
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -37,47 +53,51 @@
|
||||
- len += 22;
|
||||
- filename = m_malloc(len);
|
||||
- strlcpy(filename, ses.authstate.pw_dir, len);
|
||||
-
|
||||
+ if (ses.authstate.pw_uid == 0) {
|
||||
+ if (checkfileperm(global_authkeys_dir) != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
|
||||
- /* check ~ */
|
||||
- if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
- goto out;
|
||||
- }
|
||||
+ if (ses.authstate.pw_uid == 0) {
|
||||
+ if (checkfileperm("/etc/dropbear") != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+ if (checkfileperm("/etc/dropbear/authorized_keys") != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* allocate max required pathname storage,
|
||||
+ * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
|
||||
+ len += 22;
|
||||
+ len = n_global_authkeys_dir + n_authkeys_file;
|
||||
+ filename = m_malloc(len);
|
||||
+ strlcpy(filename, ses.authstate.pw_dir, len);
|
||||
+
|
||||
+ /* check ~ */
|
||||
+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
|
||||
- /* check ~/.ssh */
|
||||
- strlcat(filename, "/.ssh", len);
|
||||
- if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
- goto out;
|
||||
- }
|
||||
+ /* check ~/.ssh */
|
||||
+ strlcat(filename, "/.ssh", len);
|
||||
+ snprintf(filename, len, "%s/%s", global_authkeys_dir, authkeys_file);
|
||||
+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* check ~ */
|
||||
+ if (checkfileperm(ses.authstate.pw_dir) != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
|
||||
- /* now check ~/.ssh/authorized_keys */
|
||||
- strlcat(filename, "/authorized_keys", len);
|
||||
- if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
- goto out;
|
||||
+ /* allocate max required pathname storage,
|
||||
+ * = path + "/.ssh/authorized_keys" + '\0' = pathlen + 22 */
|
||||
+ len += n_user_authkeys_dir + n_authkeys_file + 1;
|
||||
+ filename = m_malloc(len);
|
||||
+
|
||||
+ /* check ~/.ssh */
|
||||
+ snprintf(filename, len, "%s/%s", ses.authstate.pw_dir, user_authkeys_dir);
|
||||
+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ /* now check ~/.ssh/authorized_keys */
|
||||
+ strlcat(filename, "/authorized_keys", len);
|
||||
+ snprintf(filename, len, "%s/%s/%s", ses.authstate.pw_dir,
|
||||
+ user_authkeys_dir, authkeys_file);
|
||||
+ if (checkfileperm(filename) != DROPBEAR_SUCCESS) {
|
||||
+ goto out;
|
||||
+ }
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/svr-chansession.c
|
||||
+++ b/svr-chansession.c
|
||||
@@ -954,12 +954,12 @@ static void execchild(const void *user_d
|
||||
@@ -985,12 +985,12 @@ static void execchild(const void *user_d
|
||||
/* We can only change uid/gid as root ... */
|
||||
if (getuid() == 0) {
|
||||
|
||||
|
||||
@ -1,11 +1,13 @@
|
||||
--- a/cli-runopts.c
|
||||
+++ b/cli-runopts.c
|
||||
@@ -299,6 +299,8 @@ void cli_getopts(int argc, char ** argv)
|
||||
debug_trace = 1;
|
||||
@@ -325,6 +325,10 @@ void cli_getopts(int argc, char ** argv)
|
||||
case 'b':
|
||||
next = &bind_arg;
|
||||
break;
|
||||
#endif
|
||||
+ case 'x':
|
||||
+ /* compatibility with openssh cli
|
||||
+ * ("-x" disables X11 forwarding) */
|
||||
+ break;
|
||||
case 'F':
|
||||
case 'e':
|
||||
#if !DROPBEAR_USER_ALGO_LIST
|
||||
default:
|
||||
fprintf(stderr,
|
||||
"WARNING: Ignoring unknown option -%c\n", c);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/dbutil.h
|
||||
+++ b/dbutil.h
|
||||
@@ -75,7 +75,11 @@ int m_str_to_uint(const char* str, unsig
|
||||
@@ -80,7 +80,11 @@ int m_snprintf(char *str, size_t size, c
|
||||
#define DEF_MP_INT(X) mp_int X = {0, 0, 0, NULL}
|
||||
|
||||
/* Dropbear assertion */
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -198,17 +198,17 @@ dropbearkey: $(dropbearkeyobjs)
|
||||
@@ -200,17 +200,17 @@ dropbearkey: $(dropbearkeyobjs)
|
||||
dropbearconvert: $(dropbearconvertobjs)
|
||||
|
||||
dropbear: $(HEADERS) $(LIBTOM_DEPS) Makefile
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
# multi-binary compilation.
|
||||
@@ -219,7 +219,7 @@ ifeq ($(MULTI),1)
|
||||
@@ -221,7 +221,7 @@ ifeq ($(MULTI),1)
|
||||
endif
|
||||
|
||||
dropbearmulti$(EXEEXT): $(HEADERS) $(MULTIOBJS) $(LIBTOM_DEPS) Makefile
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/svr-auth.c
|
||||
+++ b/svr-auth.c
|
||||
@@ -125,7 +125,7 @@ void recv_msg_userauth_request() {
|
||||
@@ -124,7 +124,7 @@ void recv_msg_userauth_request() {
|
||||
AUTH_METHOD_NONE_LEN) == 0) {
|
||||
TRACE(("recv_msg_userauth_request: 'none' request"))
|
||||
if (valid_user
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -70,53 +70,6 @@ AC_ARG_ENABLE(harden,
|
||||
@@ -74,53 +74,6 @@ AC_ARG_ENABLE(harden,
|
||||
|
||||
if test "$hardenbuild" -eq 1; then
|
||||
AC_MSG_NOTICE(Checking for available hardened build flags:)
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
|
||||
|
||||
--- a/signkey.c
|
||||
+++ b/signkey.c
|
||||
@@ -657,8 +657,12 @@ int buf_verify(buffer * buf, sign_key *k
|
||||
@@ -646,8 +646,12 @@ int buf_verify(buffer * buf, sign_key *k
|
||||
sigtype = signature_type_from_name(type_name, type_name_len);
|
||||
m_free(type_name);
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=nftables
|
||||
PKG_VERSION:=1.0.2
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files
|
||||
@ -45,6 +45,7 @@ define Package/nftables-nojson
|
||||
TITLE+= no JSON support
|
||||
VARIANT:=nojson
|
||||
DEFAULT_VARIANT:=1
|
||||
CONFLICTS:=nftables-json
|
||||
endef
|
||||
|
||||
define Package/nftables-json
|
||||
|
||||
@ -31,8 +31,9 @@ dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
|
||||
|
||||
if [ -n "$GUID" ]; then
|
||||
[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$((ROOTFSOFFSET + ROOTFSSIZE))" conv=notrunc count="$sect"
|
||||
mkfs.fat -n kernel -C "$OUTPUT.kernel" -S 512 "$((KERNELSIZE / 1024))"
|
||||
mcopy -s -i "$OUTPUT.kernel" "$KERNELDIR"/* ::/
|
||||
mkfs.fat --invariant -n kernel -C "$OUTPUT.kernel" -S 512 "$((KERNELSIZE / 1024))"
|
||||
[ "$SOURCE_DATE_EPOCH" ] && find "$KERNELDIR"/ -mindepth 1 -execdir touch -hcd "@${SOURCE_DATE_EPOCH}" "{}" +
|
||||
LC_ALL=C mcopy -m -s -i "$OUTPUT.kernel" "$KERNELDIR"/* ::/
|
||||
else
|
||||
make_ext4fs -J -L kernel -l "$KERNELSIZE" ${SOURCE_DATE_EPOCH:+-T ${SOURCE_DATE_EPOCH}} "$OUTPUT.kernel" "$KERNELDIR"
|
||||
fi
|
||||
|
||||
@ -27,6 +27,7 @@ include $(INCLUDE_DIR)/rootfs.mk
|
||||
|
||||
include $(INCLUDE_DIR)/version.mk
|
||||
export REVISION
|
||||
export SOURCE_DATE_EPOCH
|
||||
|
||||
define Helptext
|
||||
Available Commands:
|
||||
|
||||
@ -23,7 +23,7 @@ produce a noisy warning.
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
|
||||
@@ -425,10 +425,14 @@ static int xhci_try_enable_msi(struct us
|
||||
free_irq(hcd->irq, hcd);
|
||||
hcd->irq = 0;
|
||||
|
||||
@ -43,7 +43,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1892,6 +1892,7 @@ struct xhci_hcd {
|
||||
@@ -1895,6 +1895,7 @@ struct xhci_hcd {
|
||||
struct xhci_hub usb2_rhub;
|
||||
struct xhci_hub usb3_rhub;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
||||
75
target/linux/armvirt/32/config-5.15
Normal file
75
target/linux/armvirt/32/config-5.15
Normal file
@ -0,0 +1,75 @@
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
CONFIG_ARCH_32BIT_OFF_T=y
|
||||
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
||||
CONFIG_ARCH_MULTIPLATFORM=y
|
||||
CONFIG_ARCH_MULTI_V6_V7=y
|
||||
CONFIG_ARCH_MULTI_V7=y
|
||||
CONFIG_ARCH_NR_GPIO=0
|
||||
CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
|
||||
CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_VIRT=y
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_CPU_SUSPEND=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
CONFIG_ARM_HEAVY_MB=y
|
||||
CONFIG_ARM_L1_CACHE_SHIFT=6
|
||||
CONFIG_ARM_L1_CACHE_SHIFT_6=y
|
||||
CONFIG_ARM_LPAE=y
|
||||
CONFIG_ARM_PATCH_IDIV=y
|
||||
CONFIG_ARM_PATCH_PHYS_VIRT=y
|
||||
CONFIG_ARM_PSCI=y
|
||||
CONFIG_ARM_THUMB=y
|
||||
CONFIG_ARM_UNWIND=y
|
||||
CONFIG_ARM_VIRT_EXT=y
|
||||
CONFIG_AUTO_ZRELADDR=y
|
||||
CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
|
||||
CONFIG_CACHE_L2X0=y
|
||||
CONFIG_COMPAT_32BIT_TIME=y
|
||||
CONFIG_CPU_32v6K=y
|
||||
CONFIG_CPU_32v7=y
|
||||
CONFIG_CPU_ABRT_EV7=y
|
||||
CONFIG_CPU_CACHE_V7=y
|
||||
CONFIG_CPU_CACHE_VIPT=y
|
||||
CONFIG_CPU_COPY_V6=y
|
||||
CONFIG_CPU_CP15=y
|
||||
CONFIG_CPU_CP15_MMU=y
|
||||
CONFIG_CPU_HAS_ASID=y
|
||||
CONFIG_CPU_PABRT_V7=y
|
||||
CONFIG_CPU_SPECTRE=y
|
||||
CONFIG_CPU_THUMB_CAPABLE=y
|
||||
CONFIG_CPU_TLB_V7=y
|
||||
CONFIG_CPU_V7=y
|
||||
CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
|
||||
CONFIG_DMA_OPS=y
|
||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||
CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
|
||||
CONFIG_GENERIC_VDSO_32=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HAVE_SMP=y
|
||||
CONFIG_HZ_FIXED=0
|
||||
CONFIG_HZ_PERIODIC=y
|
||||
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
|
||||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_NEON=y
|
||||
CONFIG_NR_CPUS=4
|
||||
CONFIG_OLD_SIGACTION=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_OUTER_CACHE=y
|
||||
CONFIG_OUTER_CACHE_SYNC=y
|
||||
CONFIG_PAGE_OFFSET=0xC0000000
|
||||
CONFIG_PERF_USE_VMALLOC=y
|
||||
CONFIG_RTC_MC146818_LIB=y
|
||||
CONFIG_SERIAL_OF_PLATFORM=y
|
||||
CONFIG_SMP_ON_UP=y
|
||||
CONFIG_SWP_EMULATE=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
|
||||
CONFIG_UNWINDER_ARM=y
|
||||
CONFIG_USE_OF=y
|
||||
CONFIG_VFP=y
|
||||
CONFIG_VFPv3=y
|
||||
CONFIG_XZ_DEC_ARM=y
|
||||
CONFIG_XZ_DEC_BCJ=y
|
||||
CONFIG_ZBOOT_ROM_BSS=0
|
||||
CONFIG_ZBOOT_ROM_TEXT=0
|
||||
@ -41,6 +41,7 @@ CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_CAVIUM_TX2_ERRATUM_219=y
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
CONFIG_CLK_SP810=y
|
||||
CONFIG_CLK_VEXPRESS_OSC=y
|
||||
# CONFIG_COMPAT_32BIT_TIME is not set
|
||||
@ -93,7 +94,6 @@ CONFIG_FRAME_POINTER=y
|
||||
CONFIG_FSL_ERRATUM_A008585=y
|
||||
CONFIG_FUJITSU_ERRATUM_010001=y
|
||||
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
|
||||
CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_GPIO_GENERIC=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
|
||||
150
target/linux/armvirt/64/config-5.15
Normal file
150
target/linux/armvirt/64/config-5.15
Normal file
@ -0,0 +1,150 @@
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
|
||||
CONFIG_ARCH_MMAP_RND_BITS=18
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MAX=24
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MIN=18
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
|
||||
CONFIG_ARCH_PROC_KCORE_TEXT=y
|
||||
CONFIG_ARCH_STACKWALK=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_ARCH_WANTS_NO_INSTR=y
|
||||
CONFIG_ARM64=y
|
||||
CONFIG_ARM64_4K_PAGES=y
|
||||
CONFIG_ARM64_CNP=y
|
||||
CONFIG_ARM64_CRYPTO=y
|
||||
CONFIG_ARM64_EPAN=y
|
||||
CONFIG_ARM64_ERRATUM_1165522=y
|
||||
CONFIG_ARM64_ERRATUM_1286807=y
|
||||
CONFIG_ARM64_ERRATUM_819472=y
|
||||
CONFIG_ARM64_ERRATUM_824069=y
|
||||
CONFIG_ARM64_ERRATUM_826319=y
|
||||
CONFIG_ARM64_ERRATUM_827319=y
|
||||
CONFIG_ARM64_ERRATUM_832075=y
|
||||
CONFIG_ARM64_ERRATUM_843419=y
|
||||
CONFIG_ARM64_HW_AFDBM=y
|
||||
CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
|
||||
CONFIG_ARM64_MODULE_PLTS=y
|
||||
CONFIG_ARM64_PAGE_SHIFT=12
|
||||
CONFIG_ARM64_PAN=y
|
||||
CONFIG_ARM64_PA_BITS=48
|
||||
CONFIG_ARM64_PA_BITS_48=y
|
||||
CONFIG_ARM64_PTR_AUTH=y
|
||||
CONFIG_ARM64_PTR_AUTH_KERNEL=y
|
||||
CONFIG_ARM64_SVE=y
|
||||
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
||||
CONFIG_ARM64_VA_BITS=39
|
||||
CONFIG_ARM64_VA_BITS_39=y
|
||||
CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
|
||||
CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
|
||||
CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
|
||||
CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
|
||||
CONFIG_ATOMIC64_SELFTEST=y
|
||||
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_BLK_PM=y
|
||||
CONFIG_CAVIUM_TX2_ERRATUM_219=y
|
||||
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
|
||||
CONFIG_CLK_SP810=y
|
||||
CONFIG_CLK_VEXPRESS_OSC=y
|
||||
# CONFIG_COMPAT_32BIT_TIME is not set
|
||||
CONFIG_CPU_IDLE=y
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
CONFIG_CPU_PM=y
|
||||
CONFIG_CRYPTO_AES_ARM64=y
|
||||
CONFIG_CRYPTO_AES_ARM64_BS=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
||||
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
|
||||
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
|
||||
CONFIG_CRYPTO_CHACHA20=y
|
||||
CONFIG_CRYPTO_CHACHA20_NEON=y
|
||||
CONFIG_CRYPTO_CRYPTD=y
|
||||
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
||||
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
|
||||
CONFIG_CRYPTO_SHA1=y
|
||||
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||
CONFIG_CRYPTO_SHA256_ARM64=y
|
||||
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||
CONFIG_CRYPTO_SHA512_ARM64=y
|
||||
CONFIG_CRYPTO_SIMD=y
|
||||
CONFIG_DMA_DIRECT_REMAP=y
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_BOCHS=y
|
||||
CONFIG_DRM_BRIDGE=y
|
||||
CONFIG_DRM_GEM_SHMEM_HELPER=y
|
||||
CONFIG_DRM_KMS_HELPER=y
|
||||
CONFIG_DRM_PANEL=y
|
||||
CONFIG_DRM_PANEL_BRIDGE=y
|
||||
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
|
||||
CONFIG_DRM_QXL=y
|
||||
CONFIG_DRM_TTM=y
|
||||
CONFIG_DRM_TTM_HELPER=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_DRM_VRAM_HELPER=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_ARMCLCD=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_FB_CMDLINE=y
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FRAME_POINTER=y
|
||||
CONFIG_FSL_ERRATUM_A008585=y
|
||||
CONFIG_FUJITSU_ERRATUM_010001=y
|
||||
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
|
||||
CONFIG_GENERIC_CSUM=y
|
||||
CONFIG_GENERIC_FIND_FIRST_BIT=y
|
||||
CONFIG_GPIO_GENERIC=y
|
||||
CONFIG_GPIO_GENERIC_PLATFORM=y
|
||||
CONFIG_HDMI=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
|
||||
CONFIG_KCMP=y
|
||||
CONFIG_LCD_CLASS_DEVICE=m
|
||||
# CONFIG_LCD_PLATFORM is not set
|
||||
CONFIG_MFD_CORE=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_MFD_VEXPRESS_SYSREG=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_ARMMMCI=y
|
||||
CONFIG_MODULES_USE_ELF_RELA=y
|
||||
CONFIG_NEED_SG_DMA_LENGTH=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_NO_HZ_COMMON=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NR_CPUS=64
|
||||
CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_PM_CLK=y
|
||||
CONFIG_PM_GENERIC_DOMAINS=y
|
||||
CONFIG_PM_GENERIC_DOMAINS_OF=y
|
||||
CONFIG_POWER_RESET=y
|
||||
CONFIG_POWER_RESET_VEXPRESS=y
|
||||
CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_QUEUED_RWLOCKS=y
|
||||
CONFIG_QUEUED_SPINLOCKS=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_REGMAP_MMIO=y
|
||||
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
||||
CONFIG_RTC_I2C_AND_SPI=y
|
||||
CONFIG_SMC91X=y
|
||||
CONFIG_SPARSEMEM=y
|
||||
CONFIG_SPARSEMEM_EXTREME=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP=y
|
||||
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||
CONFIG_SYNC_FILE=y
|
||||
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||
CONFIG_THREAD_INFO_IN_TASK=y
|
||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||
CONFIG_VEXPRESS_CONFIG=y
|
||||
CONFIG_VIDEOMODE_HELPERS=y
|
||||
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
|
||||
CONFIG_VMAP_STACK=y
|
||||
CONFIG_ZONE_DMA32=y
|
||||
@ -10,6 +10,7 @@ FEATURES:=fpu pci rtc usb
|
||||
FEATURES+=cpiogz ext4 ramdisk squashfs targz
|
||||
|
||||
KERNEL_PATCHVER:=5.10
|
||||
KERNEL_TESTING_PATCHVER:=5.15
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
|
||||
@ -50,6 +50,7 @@ CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
CONFIG_GENERIC_GETTIMEOFDAY=y
|
||||
CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
||||
|
||||
156
target/linux/armvirt/config-5.15
Normal file
156
target/linux/armvirt/config-5.15
Normal file
@ -0,0 +1,156 @@
|
||||
CONFIG_9P_FS=y
|
||||
# CONFIG_9P_FS_POSIX_ACL is not set
|
||||
# CONFIG_9P_FS_SECURITY is not set
|
||||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
||||
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
|
||||
CONFIG_ARCH_KEEP_MEMBLOCK=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARM_AMBA=y
|
||||
CONFIG_ARM_ARCH_TIMER=y
|
||||
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
|
||||
CONFIG_ARM_GIC=y
|
||||
CONFIG_ARM_GIC_V2M=y
|
||||
CONFIG_ARM_GIC_V3=y
|
||||
CONFIG_ARM_GIC_V3_ITS=y
|
||||
CONFIG_ARM_GIC_V3_ITS_PCI=y
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
CONFIG_BALLOON_COMPACTION=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
CONFIG_BLK_MQ_VIRTIO=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_CPU_RMAP=y
|
||||
CONFIG_CRC16=y
|
||||
CONFIG_CRYPTO_CRC32=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_DCACHE_WORD_ACCESS=y
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_DMA_ENGINE=y
|
||||
CONFIG_DMA_OF=y
|
||||
CONFIG_DMA_REMAP=y
|
||||
CONFIG_DTC=y
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_F2FS_FS=y
|
||||
CONFIG_FAILOVER=y
|
||||
CONFIG_FIX_EARLYCON_MEM=y
|
||||
CONFIG_FS_IOMAP=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_GENERIC_ARCH_TOPOLOGY=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
|
||||
CONFIG_GENERIC_CPU_AUTOPROBE=y
|
||||
CONFIG_GENERIC_CPU_VULNERABILITIES=y
|
||||
CONFIG_GENERIC_EARLY_IOREMAP=y
|
||||
CONFIG_GENERIC_GETTIMEOFDAY=y
|
||||
CONFIG_GENERIC_IDLE_POLL_SETUP=y
|
||||
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
|
||||
CONFIG_GENERIC_IRQ_MIGRATION=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
|
||||
CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
|
||||
CONFIG_GENERIC_MSI_IRQ=y
|
||||
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
||||
CONFIG_GENERIC_PCI_IOMAP=y
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
CONFIG_GENERIC_STRNCPY_FROM_USER=y
|
||||
CONFIG_GENERIC_STRNLEN_USER=y
|
||||
CONFIG_GENERIC_TIME_VSYSCALL=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_GPIO_CDEV=y
|
||||
CONFIG_GPIO_PL061=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT_MAP=y
|
||||
CONFIG_HOTPLUG_CPU=y
|
||||
CONFIG_HVC_DRIVER=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_IRQCHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_IRQ_WORK=y
|
||||
CONFIG_JBD2=y
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
CONFIG_LOCK_SPIN_ON_OWNER=y
|
||||
CONFIG_MEMFD_CREATE=y
|
||||
CONFIG_MEMORY_BALLOON=y
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MUTEX_SPIN_ON_OWNER=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NET_9P=y
|
||||
# CONFIG_NET_9P_DEBUG is not set
|
||||
CONFIG_NET_9P_VIRTIO=y
|
||||
CONFIG_NET_FAILOVER=y
|
||||
CONFIG_NET_FLOW_LIMIT=y
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NVMEM=y
|
||||
CONFIG_OF=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_EARLY_FLATTREE=y
|
||||
CONFIG_OF_FLATTREE=y
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_KOBJ=y
|
||||
CONFIG_PADATA=y
|
||||
CONFIG_PAGE_REPORTING=y
|
||||
CONFIG_PARTITION_PERCPU=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_DOMAINS=y
|
||||
CONFIG_PCI_DOMAINS_GENERIC=y
|
||||
CONFIG_PCI_ECAM=y
|
||||
CONFIG_PCI_HOST_COMMON=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_PCI_MSI_IRQ_DOMAIN=y
|
||||
CONFIG_PGTABLE_LEVELS=3
|
||||
CONFIG_PHYS_ADDR_T_64BIT=y
|
||||
CONFIG_PTP_1588_CLOCK_OPTIONAL=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_RFS_ACCEL=y
|
||||
CONFIG_RPS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_RWSEM_SPIN_ON_OWNER=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_COMMON=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_SERIAL_8250_FSL=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_MCTRL_GPIO=y
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_SOCK_RX_QUEUE_MAPPING=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_TICK_CPU_ACCOUNTING=y
|
||||
CONFIG_TIMER_OF=y
|
||||
CONFIG_TIMER_PROBE=y
|
||||
CONFIG_TREE_RCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_VIRTIO=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_PCI_LEGACY=y
|
||||
CONFIG_VIRTIO_PCI_LIB=y
|
||||
CONFIG_XPS=y
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
|
||||
--- a/sound/soc/codecs/Kconfig
|
||||
+++ b/sound/soc/codecs/Kconfig
|
||||
@@ -1003,7 +1003,7 @@ config SND_SOC_PCM3168A_SPI
|
||||
@@ -1008,7 +1008,7 @@ config SND_SOC_PCM3168A_SPI
|
||||
select REGMAP_SPI
|
||||
|
||||
config SND_SOC_PCM5102A
|
||||
|
||||
@ -78,7 +78,7 @@ Link: https://lore.kernel.org/r/1611061165-30180-1-git-send-email-claudiu.beznea
|
||||
static u64 mchp_pit64b_clksrc_read(struct clocksource *cs)
|
||||
{
|
||||
return mchp_pit64b_cnt_read(mchp_pit64b_cs_base);
|
||||
@@ -128,7 +172,7 @@ static u64 mchp_pit64b_sched_read_clk(vo
|
||||
@@ -128,7 +172,7 @@ static u64 notrace mchp_pit64b_sched_rea
|
||||
|
||||
static int mchp_pit64b_clkevt_shutdown(struct clock_event_device *cedev)
|
||||
{
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
CONFIG_AF_UNIX_OOB=y
|
||||
CONFIG_AG71XX=y
|
||||
# CONFIG_AG71XX_DEBUG is not set
|
||||
CONFIG_AG71XX_DEBUG_FS=y
|
||||
@ -13,7 +12,6 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_ATH79=y
|
||||
CONFIG_ATH79_WDT=y
|
||||
CONFIG_BINARY_PRINTF=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
@ -21,7 +19,6 @@ CONFIG_CMDLINE="rootfstype=squashfs,jffs2"
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
# CONFIG_CMDLINE_OVERRIDE is not set
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_COMMON_CLK_BOSTON is not set
|
||||
CONFIG_COMPAT_32BIT_TIME=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
CONFIG_CPU_GENERIC_DUMP_TLB=y
|
||||
@ -94,7 +91,6 @@ CONFIG_LEDS_GPIO=y
|
||||
# CONFIG_LEDS_RESET is not set
|
||||
CONFIG_LIBFDT=y
|
||||
CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
CONFIG_LTO_NONE=y
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
@ -109,11 +105,9 @@ CONFIG_MIPS_ASID_BITS=8
|
||||
CONFIG_MIPS_ASID_SHIFT=0
|
||||
CONFIG_MIPS_CLOCK_VSYSCALL=y
|
||||
# CONFIG_MIPS_CMDLINE_BUILTIN_EXTEND is not set
|
||||
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
|
||||
# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
|
||||
CONFIG_MIPS_CMDLINE_FROM_DTB=y
|
||||
CONFIG_MIPS_EBPF_JIT=y
|
||||
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
|
||||
CONFIG_MIPS_L1_CACHE_SHIFT=5
|
||||
CONFIG_MIPS_LD_CAN_LINK_VDSO=y
|
||||
# CONFIG_MIPS_NO_APPENDED_DTB is not set
|
||||
@ -140,7 +134,6 @@ CONFIG_MTD_VIRT_CONCAT=y
|
||||
CONFIG_NEED_DMA_MAP_STATE=y
|
||||
CONFIG_NEED_PER_CPU_KM=y
|
||||
CONFIG_NET_SELFTESTS=y
|
||||
CONFIG_NET_SOCK_MSG=y
|
||||
CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
|
||||
CONFIG_NVMEM=y
|
||||
CONFIG_OF=y
|
||||
|
||||
@ -401,10 +401,7 @@ tplink,tl-mr6400-v1)
|
||||
ucidef_set_led_netdev "wan" "WAN" "white:wan" "eth1"
|
||||
ucidef_set_led_netdev "4g" "4G" "white:4g" "usb0"
|
||||
;;
|
||||
tplink,tl-wpa8630-v1|\
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
tplink,tl-wpa8630-v1)
|
||||
ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x3c"
|
||||
;;
|
||||
tplink,tl-wr841hp-v2|\
|
||||
|
||||
@ -441,10 +441,7 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:1" "2:lan:3" "3:lan:2"
|
||||
;;
|
||||
tplink,tl-wpa8630-v1|\
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
tplink,tl-wpa8630-v1)
|
||||
# port 5 (internal) is the power-line port
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
|
||||
|
||||
@ -249,10 +249,7 @@ case "$FIRMWARE" in
|
||||
;;
|
||||
tplink,eap225-outdoor-v1|\
|
||||
tplink,eap225-v3|\
|
||||
tplink,eap225-wall-v2|\
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
tplink,eap225-wall-v2)
|
||||
caldata_extract "art" 0x5000 0x2f20
|
||||
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 1)
|
||||
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
||||
|
||||
@ -641,36 +641,6 @@ define Device/tplink_tl-wpa8630-v1
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630-v1
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2
|
||||
$(Device/tplink-safeloader)
|
||||
SOC := qca9563
|
||||
DEVICE_MODEL := TL-WPA8630P
|
||||
IMAGE_SIZE := 6016k
|
||||
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
|
||||
endef
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2-int
|
||||
$(Device/tplink_tl-wpa8630p-v2)
|
||||
DEVICE_VARIANT := v2 (Int.)
|
||||
TPLINK_BOARD_ID := TL-WPA8630P-V2-INT
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630p-v2-int
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2.0-eu
|
||||
$(Device/tplink_tl-wpa8630p-v2)
|
||||
DEVICE_VARIANT := v2.0 (EU)
|
||||
TPLINK_BOARD_ID := TL-WPA8630P-V2.0-EU
|
||||
SUPPORTED_DEVICES += tplink,tl-wpa8630p-v2-eu
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630p-v2.0-eu
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2.1-eu
|
||||
$(Device/tplink_tl-wpa8630p-v2)
|
||||
DEVICE_VARIANT := v2.1 (EU)
|
||||
TPLINK_BOARD_ID := TL-WPA8630P-V2.1-EU
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630p-v2.1-eu
|
||||
|
||||
define Device/tplink_tl-wr1043nd-v1
|
||||
$(Device/tplink-8m)
|
||||
SOC := ar9132
|
||||
|
||||
@ -223,6 +223,41 @@ define Device/tplink_tl-wa901nd-v5
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wa901nd-v5
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2
|
||||
$(Device/tplink-safeloader)
|
||||
SOC := qca9563
|
||||
DEVICE_MODEL := TL-WPA8630P
|
||||
IMAGE_SIZE := 6016k
|
||||
DEVICE_PACKAGES := kmod-ath10k-ct ath10k-firmware-qca9888-ct
|
||||
DEVICE_COMPAT_VERSION := 2.0
|
||||
DEVICE_COMPAT_MESSAGE := The flash erase blocksize has changed to 4k from the 64k in previous versions, \
|
||||
so the JFFS2 settings partition MUST be reformatted to avoid data corruption. \
|
||||
Backup your settings before upgrading, then during sysupgrade, \
|
||||
de-select "Keep settings" and select "Force" to continue (equivilant to "sysupgrade -n -F").
|
||||
endef
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2-int
|
||||
$(Device/tplink_tl-wpa8630p-v2)
|
||||
DEVICE_VARIANT := v2 (Int.)
|
||||
TPLINK_BOARD_ID := TL-WPA8630P-V2-INT
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630p-v2-int
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2.0-eu
|
||||
$(Device/tplink_tl-wpa8630p-v2)
|
||||
DEVICE_VARIANT := v2.0 (EU)
|
||||
TPLINK_BOARD_ID := TL-WPA8630P-V2.0-EU
|
||||
SUPPORTED_DEVICES += tplink,tl-wpa8630p-v2-eu
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630p-v2.0-eu
|
||||
|
||||
define Device/tplink_tl-wpa8630p-v2.1-eu
|
||||
$(Device/tplink_tl-wpa8630p-v2)
|
||||
DEVICE_VARIANT := v2.1 (EU)
|
||||
TPLINK_BOARD_ID := TL-WPA8630P-V2.1-EU
|
||||
endef
|
||||
TARGET_DEVICES += tplink_tl-wpa8630p-v2.1-eu
|
||||
|
||||
define Device/tplink_tl-wr703n
|
||||
$(Device/tplink-4mlzma)
|
||||
SOC := ar9331
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
return -EIO;
|
||||
}
|
||||
offset -= master->erasesize;
|
||||
@@ -108,10 +113,6 @@ nogood:
|
||||
@@ -108,10 +114,6 @@ nogood:
|
||||
goto nogood;
|
||||
}
|
||||
}
|
||||
@ -30,7 +30,7 @@
|
||||
|
||||
pr_notice("Searching for RedBoot partition table in %s at offset 0x%lx\n",
|
||||
master->name, offset);
|
||||
@@ -183,6 +184,12 @@ nogood:
|
||||
@@ -183,6 +185,12 @@ nogood:
|
||||
}
|
||||
if (i == numslots) {
|
||||
/* Didn't find it */
|
||||
|
||||
@ -93,6 +93,11 @@ tplink,tl-wa850re-v2)
|
||||
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "blue:signal4" "wlan0" "60" "100"
|
||||
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "blue:signal5" "wlan0" "80" "100"
|
||||
;;
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
ucidef_set_led_switch "lan" "LAN" "green:lan" "switch0" "0x3c"
|
||||
;;
|
||||
tplink,tl-wr940n-v3|\
|
||||
tplink,tl-wr940n-v4|\
|
||||
tplink,tl-wr941nd-v6)
|
||||
|
||||
@ -82,6 +82,13 @@ ath79_setup_interfaces()
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
|
||||
;;
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
# port 5 (internal) is the power-line port
|
||||
ucidef_add_switch "switch0" \
|
||||
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
|
||||
;;
|
||||
tplink,tl-wr941-v2)
|
||||
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
||||
;;
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
#
|
||||
# Copyright (C) 2020 OpenWrt.org
|
||||
#
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/uci-defaults.sh
|
||||
|
||||
board_config_update
|
||||
|
||||
case "$(board_name)" in
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
ucidef_set_compat_version "2.0"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
exit 0
|
||||
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -e /lib/firmware/$FIRMWARE ] && exit 0
|
||||
|
||||
. /lib/functions/caldata.sh
|
||||
|
||||
board=$(board_name)
|
||||
|
||||
case "$FIRMWARE" in
|
||||
"ath10k/pre-cal-pci-0000:00:00.0.bin")
|
||||
case $board in
|
||||
tplink,tl-wpa8630p-v2-int|\
|
||||
tplink,tl-wpa8630p-v2.0-eu|\
|
||||
tplink,tl-wpa8630p-v2.1-eu)
|
||||
caldata_extract "art" 0x5000 0x2f20
|
||||
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 1)
|
||||
ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
|
||||
/lib/firmware/ath10k/QCA9888/hw2.0/board.bin
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -8596,8 +8596,6 @@ int alloc_contig_range(unsigned long sta
|
||||
@@ -8603,8 +8603,6 @@ int alloc_contig_range(unsigned long sta
|
||||
|
||||
/* Make sure the range is really isolated. */
|
||||
if (test_pages_isolated(outer_start, end, 0)) {
|
||||
|
||||
@ -12442,7 +12442,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
||||
depends on I2C
|
||||
select SND_SOC_AD193X
|
||||
|
||||
@@ -804,7 +808,7 @@ config SND_SOC_HDAC_HDA
|
||||
@@ -809,7 +813,7 @@ config SND_SOC_HDAC_HDA
|
||||
select SND_HDA
|
||||
|
||||
config SND_SOC_ICS43432
|
||||
@ -12451,7 +12451,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
||||
|
||||
config SND_SOC_INNO_RK3036
|
||||
tristate "Inno codec driver for RK3036 SoC"
|
||||
@@ -825,6 +829,13 @@ config SND_SOC_LOCHNAGAR_SC
|
||||
@@ -830,6 +834,13 @@ config SND_SOC_LOCHNAGAR_SC
|
||||
This driver support the sound card functionality of the Cirrus
|
||||
Logic Lochnagar audio development board.
|
||||
|
||||
@ -12465,7 +12465,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
||||
config SND_SOC_MADERA
|
||||
tristate
|
||||
default y if SND_SOC_CS47L15=y
|
||||
@@ -1125,6 +1136,10 @@ config SND_SOC_RT5616
|
||||
@@ -1130,6 +1141,10 @@ config SND_SOC_RT5616
|
||||
tristate "Realtek RT5616 CODEC"
|
||||
depends on I2C
|
||||
|
||||
@ -12476,7 +12476,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
||||
config SND_SOC_RT5631
|
||||
tristate "Realtek ALC5631/RT5631 CODEC"
|
||||
depends on I2C
|
||||
@@ -1346,6 +1361,9 @@ config SND_SOC_TFA9879
|
||||
@@ -1351,6 +1366,9 @@ config SND_SOC_TFA9879
|
||||
tristate "NXP Semiconductors TFA9879 amplifier"
|
||||
depends on I2C
|
||||
|
||||
@ -12486,7 +12486,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
|
||||
config SND_SOC_TLV320AIC23
|
||||
tristate
|
||||
|
||||
@@ -1784,4 +1802,8 @@ config SND_SOC_TPA6130A2
|
||||
@@ -1789,4 +1807,8 @@ config SND_SOC_TPA6130A2
|
||||
tristate "Texas Instruments TPA6130A2 headphone amplifier"
|
||||
depends on I2C
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1474,6 +1474,103 @@ command_cleanup:
|
||||
@@ -1472,6 +1472,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5380,6 +5477,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5378,6 +5475,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
||||
@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
val);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1653,8 +1653,8 @@ struct urb_priv {
|
||||
@@ -1656,8 +1656,8 @@ struct urb_priv {
|
||||
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
|
||||
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
|
||||
* meaning 64 ring segments.
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -313,6 +313,9 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
@@ -314,6 +314,9 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
static int bcm54xx_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int reg, err, val;
|
||||
@ -24,7 +24,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
|
||||
reg = phy_read(phydev, MII_BCM54XX_ECR);
|
||||
if (reg < 0)
|
||||
@@ -368,6 +371,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -369,6 +372,8 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
bcm54xx_phydsp_config(phydev);
|
||||
|
||||
@ -33,7 +33,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
|
||||
/* Encode link speed into LED1 and LED3 pair (green/amber).
|
||||
* Also flash these two LEDs on activity. This means configuring
|
||||
* them for MULTICOLOR and encoding link/activity into them.
|
||||
@@ -377,8 +382,8 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -378,8 +383,8 @@ static int bcm54xx_config_init(struct ph
|
||||
bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
|
||||
|
||||
val = BCM_LED_MULTICOLOR_IN_PHASE |
|
||||
|
||||
@ -11,7 +11,7 @@ releases.
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -314,7 +314,7 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -315,7 +315,7 @@ static int bcm54xx_config_init(struct ph
|
||||
{
|
||||
int reg, err, val;
|
||||
u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
|
||||
@ -20,7 +20,7 @@ releases.
|
||||
struct device_node *np = phydev->mdio.dev.of_node;
|
||||
|
||||
reg = phy_read(phydev, MII_BCM54XX_ECR);
|
||||
@@ -373,10 +373,6 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -374,10 +374,6 @@ static int bcm54xx_config_init(struct ph
|
||||
|
||||
of_property_read_u32_array(np, "led-modes", led_modes, 2);
|
||||
|
||||
|
||||
@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1885,6 +1885,7 @@ struct xhci_hcd {
|
||||
@@ -1888,6 +1888,7 @@ struct xhci_hcd {
|
||||
#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
|
||||
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2711.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
@@ -510,8 +510,8 @@
|
||||
@@ -560,8 +560,8 @@
|
||||
msi-controller;
|
||||
msi-parent = <&pcie0>;
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -252,7 +252,8 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
@@ -253,7 +253,8 @@ static void bcm54xx_adjust_rxrefclk(stru
|
||||
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610 &&
|
||||
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610M &&
|
||||
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM54810 &&
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
return;
|
||||
|
||||
val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_SCR3);
|
||||
@@ -763,13 +764,21 @@ static struct phy_driver broadcom_driver
|
||||
@@ -784,13 +785,21 @@ static struct phy_driver broadcom_driver
|
||||
.config_intr = bcm_phy_config_intr,
|
||||
}, {
|
||||
.phy_id = PHY_ID_BCM54210E,
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
.phy_id = PHY_ID_BCM5461,
|
||||
.phy_id_mask = 0xfffffff0,
|
||||
.name = "Broadcom BCM5461",
|
||||
@@ -925,7 +934,8 @@ module_phy_driver(broadcom_drivers);
|
||||
@@ -946,7 +955,8 @@ module_phy_driver(broadcom_drivers);
|
||||
static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
|
||||
{ PHY_ID_BCM5411, 0xfffffff0 },
|
||||
{ PHY_ID_BCM5421, 0xfffffff0 },
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/drivers/net/phy/broadcom.c
|
||||
+++ b/drivers/net/phy/broadcom.c
|
||||
@@ -82,6 +82,11 @@ static int bcm54210e_config_init(struct
|
||||
@@ -83,6 +83,11 @@ static int bcm54210e_config_init(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
static int bcm54612e_config_init(struct phy_device *phydev)
|
||||
{
|
||||
int reg;
|
||||
@@ -357,6 +362,9 @@ static int bcm54xx_config_init(struct ph
|
||||
@@ -358,6 +363,9 @@ static int bcm54xx_config_init(struct ph
|
||||
case PHY_ID_BCM54616S:
|
||||
err = bcm54616s_config_init(phydev);
|
||||
break;
|
||||
|
||||
@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2711.dtsi
|
||||
+++ b/arch/arm/boot/dts/bcm2711.dtsi
|
||||
@@ -561,6 +561,7 @@
|
||||
@@ -611,6 +611,7 @@
|
||||
|
||||
&dsi1 {
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
|
||||
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
||||
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
|
||||
@@ -6528,9 +6528,7 @@ void amdgpu_dm_connector_init_helper(str
|
||||
@@ -6531,9 +6531,7 @@ void amdgpu_dm_connector_init_helper(str
|
||||
if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
|
||||
connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
|
||||
connector_type == DRM_MODE_CONNECTOR_eDP) {
|
||||
|
||||
@ -254,7 +254,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
||||
* clk_get_parent - return the parent of a clk
|
||||
* @clk: the clk whose parent gets returned
|
||||
*
|
||||
@@ -3838,6 +3958,7 @@ __clk_register(struct device *dev, struc
|
||||
@@ -3851,6 +3971,7 @@ __clk_register(struct device *dev, struc
|
||||
goto fail_parents;
|
||||
|
||||
INIT_HLIST_HEAD(&core->clks);
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1115,7 +1115,3 @@
|
||||
@@ -1165,7 +1165,3 @@
|
||||
&usb {
|
||||
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
@ -90,7 +90,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
* Reset a halted HC.
|
||||
*
|
||||
@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||
@@ -606,10 +649,20 @@ static int xhci_init(struct usb_hcd *hcd
|
||||
|
||||
static int xhci_run_finished(struct xhci_hcd *xhci)
|
||||
{
|
||||
@ -114,7 +114,7 @@ it on BCM4708 family.
|
||||
xhci->shared_hcd->state = HC_STATE_RUNNING;
|
||||
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
|
||||
|
||||
@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
|
||||
@@ -619,6 +672,10 @@ static int xhci_run_finished(struct xhci
|
||||
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
|
||||
"Finished xhci_run for USB3 roothub");
|
||||
return 0;
|
||||
@ -127,7 +127,7 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1885,6 +1885,7 @@ struct xhci_hcd {
|
||||
@@ -1888,6 +1888,7 @@ struct xhci_hcd {
|
||||
#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
|
||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
||||
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user