-
Notifications
You must be signed in to change notification settings - Fork 17
mt7621 + mt7915e wifi not working and kernel panic #13
Copy link
Copy link
Open
Description
this was originally reported here (openwrt/openwrt#17895 (comment)) but was told that this might be a better place to report the issue.
On OpenWRT 24.10 configured on an mt7621 SOC using mt7915e WiFi PCIe module
WiFi will only work on cold boot.
on warm boot the kernel will panic and cause a reboot and eventually will startup but the WiFi will not work generating driver errors.
The issue is caused by the mt7621 driver not waiting long enough after resetting the wifi module. The following patch fixes the issue
`Index: linux-6.6.73/drivers/pci/controller/pcie-mt7621.c
===================================================================
--- linux-6.6.73.orig/drivers/pci/controller/pcie-mt7621.c
+++ linux-6.6.73/drivers/pci/controller/pcie-mt7621.c
@@ -60,7 +60,7 @@
#define PCIE_PORT_LINKUP BIT(0)
#define PCIE_PORT_CNT 3
-#define INIT_PORTS_DELAY_MS 100
+#define INIT_PORTS_DELAY_MS 500
#define PERST_DELAY_MS 100
/**
@@ -319,7 +319,13 @@ static void mt7621_pcie_reset_assert(str
list_for_each_entry(port, &pcie->ports, list) {
/ PCIe RC reset assert /
mt7621_control_assert(port);
+ }
+ // https://github.com/openwrt/openwrt/issues/12359
+ // https://github.com/openwrt/mt76/issues/644
+ mdelay(PERST_DELAY_MS);
+
+ list_for_each_entry(port, &pcie->ports, list) {
/ PCIe EP reset assert /
mt7621_rst_gpio_pcie_assert(port);
}`
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels