mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
323e249ce8
This updates mac80211 to version 6.1.97-1. This code is based on Linux 6.1.97 and contains all fixes included in the upstream wireless subsystem from that kernel version. This includes many bugfixes and also some security fixes. The removed patches are already integrated in upstream Linux 6.1.97 or in backports. The following patches were integrated in upstream Linux: ath11k/0013-wifi-ath11k-synchronize-ath11k_mac_he_gi_to_nl80211_.patch ath11k/0035-wifi-ath11k-Use-platform_get_irq-to-get-the-interrup.patch ath11k/0036-wifi-ath11k-fix-SAC-bug-on-peer-addition-with-sta-ba.patch ath11k/0047-wifi-ath11k-fix-deinitialization-of-firmware-resourc.patch ath11k/0053-wifi-ath11k-fix-writing-to-unintended-memory-region.patch ath11k/0060-wifi-ath11k-Ignore-frags-from-uninitialized-peer-in-.patch ath11k/0065-wifi-ath11k-fix-tx-status-reporting-in-encap-offload.patch ath11k/0067-wifi-ath11k-Fix-SKB-corruption-in-REO-destination-ri.patch ath11k/0069-wifi-ath11k-fix-registration-of-6Ghz-only-phy-withou.patch ath11k/0080-wifi-ath11k-add-support-default-regdb-while-searchin.patch ath11k/0085-wifi-ath11k-fix-memory-leak-in-WMI-firmware-stats.patch ath11k/0086-wifi-ath11k-Add-missing-check-for-ioremap.patch ath11k/0096-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch subsys/337-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch The following patches were integrated in upstream backports: ath11k/901-wifi-ath11k-pci-fix-compilation-in-5.16-and-older.patch build/080-resv_start_op.patch build/110-backport_napi_build_skb.patch The following files are missing in backports, we do not have to remove them any more. Some were already missing before some were removed in this update: include/linux/cordic.h include/linux/crc8.h include/linux/eeprom_93cx6.h include/linux/wl12xx.h include/net/ieee80211.h backport-include/linux/bcm47xx_nvram.h include/linux/ath9k_platform.h include/net/bluetooth/ backports ships a dummy Mediatek wed header for older kernel versions. We backported the feature in our kernel, remove the dummy header: backport-include/linux/soc/mediatek/mtk_wed.h Remove header files for subsystems used form the mainline kernel: include/trace/events/qrtr.h include/net/rsi_91x.h backport-include/linux/platform_data/brcmnand.h Link: https://github.com/openwrt/openwrt/pull/15827 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
168 lines
5.5 KiB
Diff
168 lines
5.5 KiB
Diff
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -5,7 +5,7 @@
|
|
ifeq ($(KERNELRELEASE),)
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
-SHELL := /bin/bash
|
|
+SHELL := /usr/bin/env bash
|
|
BACKPORT_DIR := $(shell pwd)
|
|
|
|
KMODDIR ?= updates
|
|
@@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/
|
|
KERNEL_CONFIG := $(KLIB_BUILD)/.config
|
|
KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile
|
|
CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//')
|
|
+STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5)
|
|
|
|
export KLIB KLIB_BUILD BACKPORT_DIR KMODDIR KMODPATH_ARG
|
|
|
|
@@ -36,7 +37,8 @@ mrproper:
|
|
@rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel
|
|
@rm -f backport-include/backport/autoconf.h
|
|
|
|
-.DEFAULT:
|
|
+.SILENT: $(STAMP_KERNEL_CONFIG)
|
|
+$(STAMP_KERNEL_CONFIG):
|
|
@set -e ; test -f local-symbols || ( \
|
|
echo "/--------------" ;\
|
|
echo "| You shouldn't run make in the backports tree, but only in" ;\
|
|
@@ -60,57 +62,61 @@ mrproper:
|
|
echo "| (that isn't currently running.)" ;\
|
|
echo "\\--" ;\
|
|
false)
|
|
- @set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ] ;\
|
|
- then \
|
|
- echo -n "Generating local configuration database from kernel ..." ;\
|
|
- grep -v -f local-symbols $(KERNEL_CONFIG) | grep = | ( \
|
|
- while read l ; do \
|
|
- if [ "$${l:0:7}" != "CONFIG_" ] ; then \
|
|
- continue ;\
|
|
- fi ;\
|
|
- l=$${l:7} ;\
|
|
- n=$${l%%=*} ;\
|
|
- v=$${l#*=} ;\
|
|
- if [ "$$v" = "m" ] ; then \
|
|
- echo config $$n ;\
|
|
- echo ' tristate' ;\
|
|
- elif [ "$$v" = "y" ] ; then \
|
|
- echo config $$n ;\
|
|
- echo ' bool' ;\
|
|
- else \
|
|
- continue ;\
|
|
- fi ;\
|
|
- echo " default $$v" ;\
|
|
- echo "" ;\
|
|
- done \
|
|
- ) > Kconfig.kernel ;\
|
|
- kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) M=$(BACKPORT_DIR) \
|
|
- kernelversion | sed 's/^\(\([3-6]\|2\.6\)\.[0-9]\+\).*/\1/;t;d');\
|
|
- test "$$kver" != "" || echo "Kernel version parse failed!" ;\
|
|
- test "$$kver" != "" ;\
|
|
- kvers="$$kvers $$(seq 0 20 | sed 's/^/4./')" ;\
|
|
- kvers="$$kvers $$(seq 0 19 | sed 's/^/5./')" ;\
|
|
- kvers="$$kvers $$(seq 0 20 | sed 's/^/6./')" ;\
|
|
- print=0 ;\
|
|
- for v in $$kvers ; do \
|
|
- if [ "$$print" = "1" ] ; then \
|
|
- echo config KERNEL_$$(echo $$v | tr . _) ;\
|
|
- echo " def_bool y" ;\
|
|
- fi ;\
|
|
- if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\
|
|
- done > Kconfig.versions ;\
|
|
- # RHEL as well, sadly we need to grep for it ;\
|
|
- RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \
|
|
- sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
|
- RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \
|
|
- sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
|
- for v in $$(seq 0 $$RHEL_MINOR) ; do \
|
|
- echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
|
|
- echo " def_bool y" ;\
|
|
- done >> Kconfig.versions ;\
|
|
- echo " done." ;\
|
|
- fi ;\
|
|
- echo "$(CONFIG_MD5)" > .kernel_config_md5
|
|
+ @rm -f .kernel_config_md5_*
|
|
+ @touch $@
|
|
+
|
|
+Kconfig.kernel: $(STAMP_KERNEL_CONFIG) local-symbols
|
|
+ @printf "Generating local configuration database from kernel ..."
|
|
+ @grep -v -f local-symbols $(KERNEL_CONFIG) | grep = | ( \
|
|
+ while read l ; do \
|
|
+ if [ "$${l:0:7}" != "CONFIG_" ] ; then \
|
|
+ continue ;\
|
|
+ fi ;\
|
|
+ l=$${l:7} ;\
|
|
+ n=$${l%%=*} ;\
|
|
+ v=$${l#*=} ;\
|
|
+ if [ "$$v" = "m" ] ; then \
|
|
+ echo config $$n ;\
|
|
+ echo ' tristate' ;\
|
|
+ elif [ "$$v" = "y" ] ; then \
|
|
+ echo config $$n ;\
|
|
+ echo ' bool' ;\
|
|
+ else \
|
|
+ continue ;\
|
|
+ fi ;\
|
|
+ echo " default $$v" ;\
|
|
+ echo "" ;\
|
|
+ done \
|
|
+ ) > $@
|
|
+ @echo " done."
|
|
+
|
|
+Kconfig.versions: Kconfig.kernel
|
|
+ @kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) M=$(BACKPORT_DIR) \
|
|
+ kernelversion | sed 's/^\(\([3-6]\|2\.6\)\.[0-9]\+\).*/\1/;t;d');\
|
|
+ test "$$kver" != "" || echo "Kernel version parse failed!" ;\
|
|
+ test "$$kver" != "" ;\
|
|
+ kvers="$$kvers $$(seq 0 20 | sed 's/^/4./')" ;\
|
|
+ kvers="$$kvers $$(seq 0 19 | sed 's/^/5./')" ;\
|
|
+ kvers="$$kvers $$(seq 0 20 | sed 's/^/6./')" ;\
|
|
+ print=0 ;\
|
|
+ for v in $$kvers ; do \
|
|
+ if [ "$$print" = "1" ] ; then \
|
|
+ echo config KERNEL_$$(echo $$v | tr . _) ;\
|
|
+ echo " def_bool y" ;\
|
|
+ fi ;\
|
|
+ if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\
|
|
+ done > $@
|
|
+ @RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \
|
|
+ sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
|
+ RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \
|
|
+ sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
|
+ for v in $$(seq 0 $$RHEL_MINOR) ; do \
|
|
+ echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
|
|
+ echo " def_bool y" ;\
|
|
+ done >> $@
|
|
+
|
|
+.DEFAULT:
|
|
+ @$(MAKE) Kconfig.versions
|
|
@$(MAKE) -f Makefile.real "$@"
|
|
|
|
.PHONY: defconfig-help
|
|
--- a/Makefile.real
|
|
+++ b/Makefile.real
|
|
@@ -59,7 +59,7 @@ defconfig-%::
|
|
|
|
backport-include/backport/autoconf.h: .config Kconfig.versions Kconfig.kernel
|
|
@$(MAKE) oldconfig
|
|
- @echo -n "Building backport-include/backport/autoconf.h ..."
|
|
+ @printf "Building backport-include/backport/autoconf.h ..."
|
|
@grep -f local-symbols .config | ( \
|
|
echo "#ifndef COMPAT_AUTOCONF_INCLUDED" ;\
|
|
echo "#define COMPAT_AUTOCONF_INCLUDED" ;\
|
|
@@ -80,7 +80,12 @@ backport-include/backport/autoconf.h: .c
|
|
esac ;\
|
|
done ;\
|
|
echo "#endif /* COMPAT_AUTOCONF_INCLUDED */" ;\
|
|
- ) > backport-include/backport/autoconf.h
|
|
+ ) > $@.new
|
|
+ @if cmp -s $@ $@.new; then \
|
|
+ rm -f $@.new; \
|
|
+ else \
|
|
+ mv $@.new $@; \
|
|
+ fi
|
|
@echo " done."
|
|
|
|
.PHONY: modules
|