kaloz / mwlwifi

mac80211 driver for the Marvell 88W8864 802.11ac chip
396 stars 119 forks source link

Fix driver loading with backports 5.3+ #381

Closed dengqf6 closed 4 years ago

dengqf6 commented 4 years ago

Commit 747796b2f126 did not solve the issue that it crashes when an older kernel with a newer backport tries loading it, because it only detects kernel version.

As net/cfg80211.h in 5.3+ defines VENDOR_CMD_RAW_DATA, use it as a condition.

ghost commented 4 years ago

Tried and works on the wrt32x openwrt master and 19.07.1 .


openwrt$ git diff
diff --git a/package/kernel/mwlwifi/Makefile b/package/kernel/mwlwifi/Makefile
index aa8eea0450..43b703abb6 100644
--- a/package/kernel/mwlwifi/Makefile
+++ b/package/kernel/mwlwifi/Makefile
@@ -13,11 +13,11 @@ PKG_RELEASE=2
 PKG_LICENSE:=ISC
 PKG_LICENSE_FILES:=

-PKG_SOURCE_URL:=https://github.com/kaloz/mwlwifi
+PKG_SOURCE_URL:=https://github.com/dengqf6/mwlwifi.git
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2019-03-02
-PKG_SOURCE_VERSION:=31d9386079b91cc699658c19294e139b62b512bc
-PKG_MIRROR_HASH:=7bdd05765d8215a9c293cdcb028d63a04c9e55b337eaac9e8d3659bd86218321
+PKG_SOURCE_DATE:=2020-02-12
+PKG_SOURCE_VERSION:=182391a3c96ff6ad79bbba0758338a16a66abbd8
+PKG_MIRROR_HASH:=c70ebbbba170a77a50dc6b17314a294b0858cea21b157717e33e066edc4d5d7c

 PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
 PKG_BUILD_PARALLEL:=1
diff --git a/package/kernel/mwlwifi/patches/001-vendor_command_policy.patch b/package/kernel/mwlwifi/patches/001-vendor_command_policy.patch
deleted file mode 100644
index 1f06d55fc8..0000000000
--- a/package/kernel/mwlwifi/patches/001-vendor_command_policy.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-mac80211 from kernel 5.3 and later checks the new policy attribute.
-
---- a/vendor_cmd.c
-+++ b/vendor_cmd.c
-@@ -92,12 +92,14 @@ static const struct wiphy_vendor_command
-                         .subcmd = MWL_VENDOR_CMD_SET_BF_TYPE},
-               .flags = WIPHY_VENDOR_CMD_NEED_NETDEV,
-               .doit = mwl_vendor_cmd_set_bf_type,
-+              .policy = mwl_vendor_attr_policy,
-       },
-       {
-               .info = { .vendor_id = MRVL_OUI,
-                         .subcmd = MWL_VENDOR_CMD_GET_BF_TYPE},
-               .flags = WIPHY_VENDOR_CMD_NEED_NETDEV,
-               .doit = mwl_vendor_cmd_get_bf_type,
-+              .policy = mwl_vendor_attr_policy,
-       }
- };
- 
openwrt$ 
tapper82 commented 4 years ago

Ping. OpenWrt are waiting on this.

tapper82 commented 4 years ago

Ping!

lucize commented 4 years ago

@kaloz

ooonea commented 4 years ago

@kaloz Why isn't merge done?

tapper82 commented 4 years ago

Yeah!

kaloz commented 4 years ago

I don't see a Signed-off-by here..

Chadster766 commented 4 years ago

If this patch is specific to OpenWRT then it should be part of the OpenWRT repo.

The driver is used by other opensource projects.

dengqf6 commented 4 years ago

Signed-off-by is in the commit message, not in this PR description.

dengqf6 commented 4 years ago

@Chadster766 This applies to all Linux distros that use backports.

Chadster766 commented 4 years ago

@dengqf6 thanks for the info. I haven't done any development with backporting a driver before so only have a little knowledge on the subject.

With this backport when enabled will the source be pulled from your repo instead of this official repo for those that use the backport option?

p3x-robot commented 4 years ago

@kaloz it is true, the commit is right, look:

Click this link, it shows it is correct: https://github.com/kaloz/mwlwifi/pull/381/commits/182391a3c96ff6ad79bbba0758338a16a66abbd8

image