[PATCH] mac80211: brcm: drop brcmfmac patch waiting for register_wiphy()

Rafał Miłecki zajec5 at gmail.com
Wed May 17 02:58:16 PDT 2023


From: Rafał Miłecki <rafal at milecki.pl>

That was a workaround for OpenWrt generation of config files. This patch
was used to postpone returning from probe function until loading
firmware and calling register_wiphy().

All of that is not needed anymore thanks to the ieee80211 hotplug.d
script introduced in the commit 5f8f8a366136 ("base-files, mac80211,
broadcom-wl: wifi detection and configuration"). That takes care of
generating /etc/config/wireless entries even if wireless device appears
late in the booting process.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 package/kernel/mac80211/Makefile              |  2 +-
 ...-register-wiphy-s-during-module_init.patch | 64 -------------------
 2 files changed, 1 insertion(+), 65 deletions(-)
 delete mode 100644 package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index 02cf715d8e..077bc0cba6 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=mac80211
 
 PKG_VERSION:=6.1.24
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 # PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.58/
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
 PKG_HASH:=5d39aca7e34c33cb9b3e366117b2e86841b7bdd37933679d6b1e61be6b150648
diff --git a/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch b/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch
deleted file mode 100644
index 9d0f3e20b1..0000000000
--- a/package/kernel/mac80211/patches/brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5 at gmail.com>
-Date: Mon, 8 Jun 2015 16:11:40 +0200
-Subject: [PATCH] brcmfmac: register wiphy(s) during module_init
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This is needed by OpenWrt which expects all PHYs to be created after
-module loads successfully.
-
-Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
----
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
-@@ -459,6 +459,7 @@ struct brcmf_fw {
- 	u32 curpos;
- 	unsigned int board_index;
- 	void (*done)(struct device *dev, int err, struct brcmf_fw_request *req);
-+	struct completion *completion;
- };
- 
- #ifdef CONFIG_EFI
-@@ -686,6 +687,8 @@ static void brcmf_fw_request_done(const
- 		fwctx->req = NULL;
- 	}
- 	fwctx->done(fwctx->dev, ret, fwctx->req);
-+	if (fwctx->completion)
-+		complete(fwctx->completion);
- 	kfree(fwctx);
- }
- 
-@@ -751,6 +754,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 = NULL;
- 	int ret;
- 
-@@ -768,6 +773,9 @@ int brcmf_fw_get_firmwares(struct device
- 	fwctx->dev = dev;
- 	fwctx->req = req;
- 	fwctx->done = fw_cb;
-+ 
-+	init_completion(&completion);
-+	fwctx->completion = &completion;
- 
- 	/* First try alternative board-specific path if any */
- 	if (fwctx->req->board_types[0])
-@@ -787,6 +795,12 @@ int brcmf_fw_get_firmwares(struct device
- 	if (ret < 0)
- 		brcmf_fw_request_done(NULL, fwctx);
- 
-+
-+	time_left = wait_for_completion_timeout(&completion,
-+						msecs_to_jiffies(5000));
-+	if (!time_left && fwctx)
-+		fwctx->completion = NULL;
-+
- 	return 0;
- }
- 
-- 
2.35.3




More information about the openwrt-devel mailing list