mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
e6a486fe79
Backport upstream fix for module load regression caused by IRAM recovery. Without this patch devices using mainline ath10k driver could lost wireless function because ath10k module failed to load. Signed-off-by: Zhijun You <hujy652@gmail.com>
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From 22fb5991a44c78ff18ec0082dc90c809356eb893 Mon Sep 17 00:00:00 2001
|
|
From: Ansuel Smith <ansuelsmth@gmail.com>
|
|
Date: Sun, 27 Sep 2020 19:23:35 +0200
|
|
Subject: [PATCH 1/2] ath10k: Try to get mac-address from dts
|
|
|
|
Most of embedded device that have the ath10k wifi integrated store the
|
|
mac-address in nvmem partitions. Try to fetch the mac-address using the
|
|
standard 'of_get_mac_address' than in all the check also try to fetch the
|
|
address using the nvmem api searching for a defined 'mac-address' cell.
|
|
Mac-address defined in the dts have priority than any other address found.
|
|
|
|
Tested-on: QCA9984 hw1.0 PCI 10.4
|
|
|
|
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
|
|
---
|
|
drivers/net/wireless/ath/ath10k/core.c | 10 ++++++++++
|
|
1 file changed, 10 insertions(+)
|
|
|
|
--- a/drivers/net/wireless/ath/ath10k/core.c
|
|
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
|
@@ -8,6 +8,7 @@
|
|
#include <linux/module.h>
|
|
#include <linux/firmware.h>
|
|
#include <linux/of.h>
|
|
+#include <linux/of_net.h>
|
|
#include <linux/property.h>
|
|
#include <linux/dmi.h>
|
|
#include <linux/ctype.h>
|
|
@@ -3243,6 +3244,8 @@ static int ath10k_core_probe_fw(struct a
|
|
|
|
device_get_mac_address(ar->dev, ar->mac_addr, sizeof(ar->mac_addr));
|
|
|
|
+ of_get_mac_address(ar->dev->of_node, ar->mac_addr);
|
|
+
|
|
ret = ath10k_core_init_firmware_features(ar);
|
|
if (ret) {
|
|
ath10k_err(ar, "fatal problem with firmware features: %d\n",
|