Files
wlan-ap/patches/0035-ucode-add-TIP-specific-fixes.patch
John Crispin d329e3a9ca patches/: re-order and fold patches
Signed-off-by: John Crispin <john@phrozen.org>
2024-04-27 16:15:25 +02:00

138 lines
5.0 KiB
Diff

From 164fcae0ac392407bc7d7000216a13d9af920363 Mon Sep 17 00:00:00 2001
From: John Crispin <john@phrozen.org>
Date: Fri, 28 Jul 2023 16:51:13 +0200
Subject: [PATCH 35/68] ucode: add TIP specific fixes
Signed-off-by: John Crispin <john@phrozen.org>
---
package/utils/ucode/Makefile | 13 +++-
.../ucode/patches/000-nl80211_copy.patch | 11 ++++
package/utils/ucode/patches/0001-fixes.patch | 59 +++++++++++++++++++
3 files changed, 82 insertions(+), 1 deletion(-)
create mode 100644 package/utils/ucode/patches/000-nl80211_copy.patch
create mode 100644 package/utils/ucode/patches/0001-fixes.patch
diff --git a/package/utils/ucode/Makefile b/package/utils/ucode/Makefile
index e2fe4c8bad..fe401f69b1 100644
--- a/package/utils/ucode/Makefile
+++ b/package/utils/ucode/Makefile
@@ -37,6 +37,13 @@ CMAKE_HOST_OPTIONS += \
-DUCI_SUPPORT=OFF \
-DULOOP_SUPPORT=OFF
+ifeq ($(CONFIG_TARGET_ipq95xx)$(CONFIG_TARGET_ipq53xx),y)
+TARGET_CFLAGS += -DQCA_WIFI_7
+endif
+
+ifeq ($(CONFIG_TARGET_ipq807x)$(CONFIG_TARGET_ipq60xx)$(CONFIG_TARGET_ipq50xx)$(CONFIG_TARGET_ipq40xx),y)
+TARGET_CFLAGS += -DQCA_v4_4
+endif
define Package/ucode/default
SUBMENU:=ucode
@@ -96,7 +103,7 @@ endef
define Package/ucode-mod-nl80211
$(Package/ucode/default)
TITLE+= (nl80211 module)
- DEPENDS:=ucode +libnl-tiny +libubox
+ DEPENDS:=ucode +libnl-tiny +libubox +kmod-mac80211
endef
define Package/ucode-mod-nl80211/description
@@ -171,6 +178,10 @@ define Package/ucode-mod-uloop/description
loop implementation.
endef
+define Build/Prepare
+ $(Build/Prepare/Default)
+ $(CP) $(STAGING_DIR)/usr/include/mac80211/uapi/linux/nl80211.h $(PKG_BUILD_DIR)/nl80211_copy.h
+endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib $(1)/usr/include/ucode
diff --git a/package/utils/ucode/patches/000-nl80211_copy.patch b/package/utils/ucode/patches/000-nl80211_copy.patch
new file mode 100644
index 0000000000..ff20e3e7e2
--- /dev/null
+++ b/package/utils/ucode/patches/000-nl80211_copy.patch
@@ -0,0 +1,11 @@
+--- a/lib/nl80211.c
++++ b/lib/nl80211.c
+@@ -38,7 +38,7 @@ limitations under the License.
+ #include <netlink/genl/family.h>
+ #include <netlink/genl/ctrl.h>
+
+-#include <linux/nl80211.h>
++#include "../nl80211_copy.h"
+ #include <linux/ieee80211.h>
+ #include <libubox/uloop.h>
+
diff --git a/package/utils/ucode/patches/0001-fixes.patch b/package/utils/ucode/patches/0001-fixes.patch
new file mode 100644
index 0000000000..a8f96fc71d
--- /dev/null
+++ b/package/utils/ucode/patches/0001-fixes.patch
@@ -0,0 +1,59 @@
+From 25df1c3e41f274f70e4fbf5fdc10e4290ba019f5 Mon Sep 17 00:00:00 2001
+From: John Crispin <john@phrozen.org>
+Date: Thu, 20 Jan 2022 10:48:35 +0100
+Subject: [PATCH] fixes
+
+---
+ lib/nl80211.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++----
+ lib/rtnl.c | 1 +
+ 2 files changed, 87 insertions(+), 6 deletions(-)
+
+Index: ucode-2023-06-06-c7d84aae/lib/nl80211.c
+===================================================================
+--- ucode-2023-06-06-c7d84aae.orig/lib/nl80211.c
++++ ucode-2023-06-06-c7d84aae/lib/nl80211.c
+@@ -56,6 +56,26 @@ limitations under the License.
+
+ #define NL80211_CMDS_BITMAP_SIZE DIV_ROUND_UP(NL80211_CMD_MAX + 1, 32)
+
++#ifdef QCA_v4_4
++#define NL80211_STA_INFO_CONNECTED_TO_AS NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_FREQUENCY_ATTR_1MHZ NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_FREQUENCY_ATTR_2MHZ NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_FREQUENCY_ATTR_4MHZ NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_FREQUENCY_ATTR_8MHZ NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_FREQUENCY_ATTR_16MHZ NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_MESHCONF_NOLEARN NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_MESHCONF_CONNECTED_TO_AS NL80211_ATTR_NOT_IMPLEMENTED
++#endif
++
++#ifndef QCA_WIFI_7
++#define NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC NL80211_ATTR_NOT_IMPLEMENTED
++#define NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY NL80211_ATTR_NOT_IMPLEMENTED
++#endif
++
++
+ static struct {
+ int code;
+ char *msg;
+@@ -560,7 +580,7 @@ static const uc_nl_nested_spec_t nl80211
+
+ static const uc_nl_nested_spec_t nl80211_wiphy_bands_iftype_data_nla = {
+ .headsize = 0,
+- .nattrs = 7,
++ .nattrs = 9,
+ .attrs = {
+ { NL80211_BAND_IFTYPE_ATTR_IFTYPES, "iftypes", DT_NESTED, 0, &nl80211_ifcomb_limit_types_nla },
+ { NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC, "he_cap_mac", DT_U16, DF_ARRAY, NULL },
+@@ -569,6 +589,8 @@ static const uc_nl_nested_spec_t nl80211
+ { NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, "he_cap_ppe", DT_U8, DF_ARRAY, NULL },
+ { NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, "he_6ghz_capa", DT_U16, 0, NULL },
+ { NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS, "vendor_elems", DT_STRING, DF_BINARY, NULL },
++ { NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC, "eht_cap_mac", DT_U16, DF_ARRAY, NULL },
++ { NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY, "eht_cap_phy", DT_U16, DF_ARRAY, NULL },
+ }
+ };
+
--
2.34.1