34ee028
From 554da3868eb1d7174710c18b4ddd6ff01f6d612c Mon Sep 17 00:00:00 2001
34ee028
From: Hans de Goede <hdegoede@redhat.com>
34ee028
Date: Fri, 23 Nov 2018 10:11:48 +0100
34ee028
Subject: brcmfmac: Call brcmf_dmi_probe before brcmf_of_probe
34ee028
34ee028
ARM systems with UEFI may have both devicetree (of) and DMI data in this
34ee028
case we end up setting brcmf_mp_device.board_type twice.
34ee028
34ee028
In this case we should prefer the devicetree data, because:
34ee028
1) The devicerree data is more reliable
34ee028
2) Some ARM systems (e.g. the Raspberry Pi 3 models) support both UEFI and
34ee028
   classic uboot booting, the devicetree data is always there, so using it
34ee028
   makes sure we ask for the same nvram file independent of how we booted.
34ee028
34ee028
This commit moves the brcmf_dmi_probe call to before the brcmf_of_probe
34ee028
call, so that the latter can override the value of the first if both are
34ee028
set.
34ee028
34ee028
Fixes: bd1e82bb420a ("brcmfmac: Set board_type from DMI on x86 based ...")
34ee028
Cc: Peter Robinson <pbrobinson@gmail.com>
34ee028
Tested-and-reported-by: Peter Robinson <pbrobinson@gmail.com>
34ee028
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
34ee028
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
34ee028
---
34ee028
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +-
34ee028
 1 file changed, 1 insertion(+), 1 deletion(-)
34ee028
34ee028
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
34ee028
index e738112ed87c..1f1e95a15a17 100644
34ee028
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
34ee028
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
34ee028
@@ -449,8 +449,8 @@ struct brcmf_mp_device *brcmf_get_module_param(struct device *dev,
34ee028
 	}
34ee028
 	if (!found) {
34ee028
 		/* No platform data for this device, try OF and DMI data */
34ee028
-		brcmf_of_probe(dev, bus_type, settings);
34ee028
 		brcmf_dmi_probe(settings, chip, chiprev);
34ee028
+		brcmf_of_probe(dev, bus_type, settings);
34ee028
 	}
34ee028
 	return settings;
34ee028
 }
34ee028
-- 
34ee028
cgit 1.2-0.3.lf.el7