public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] brcmfmac: Prefer DT board type over DMI board type
@ 2023-01-06 13:19 Ivan T. Ivanov
  2023-01-06 16:21 ` Arend Van Spriel
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Ivan T. Ivanov @ 2023-01-06 13:19 UTC (permalink / raw)
  To: aspriel, marcan
  Cc: franky.lin, hante.meuleman, rmk+kernel, stefan.wahren, pbrobinson,
	jforbes, kvalo, davem, devicetree, edumazet,
	krzysztof.kozlowski+dt, kuba, pabeni, robh+dt, linux-arm-kernel,
	linux-wireless, netdev, brcm80211-dev-list.pdl,
	SHA-cyfmac-dev-list, Ivan T. Ivanov, stable

The introduction of support for Apple board types inadvertently changed
the precedence order, causing hybrid SMBIOS+DT platforms to look up the
firmware using the DMI information instead of the device tree compatible
to generate the board type. Revert back to the old behavior,
as affected platforms use firmwares named after the DT compatible.

Fixes: 7682de8b3351 ("wifi: brcmfmac: of: Fetch Apple properties")

[1] https://bugzilla.opensuse.org/show_bug.cgi?id=1206697#c13

Cc: stable@vger.kernel.org
Signed-off-by: Ivan T. Ivanov <iivanov@suse.de>
Reviewed-by: Hector Martin <marcan@marcan.st>
---
Changes since v1
Rewrite commit message according feedback.
https://lore.kernel.org/all/20230106072746.29516-1-iivanov@suse.de/

 drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
index a83699de01ec..fdd0c9abc1a1 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
@@ -79,7 +79,8 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
 	/* Apple ARM64 platforms have their own idea of board type, passed in
 	 * via the device tree. They also have an antenna SKU parameter
 	 */
-	if (!of_property_read_string(np, "brcm,board-type", &prop))
+	err = of_property_read_string(np, "brcm,board-type", &prop);
+	if (!err)
 		settings->board_type = prop;
 
 	if (!of_property_read_string(np, "apple,antenna-sku", &prop))
@@ -87,7 +88,7 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
 
 	/* Set board-type to the first string of the machine compatible prop */
 	root = of_find_node_by_path("/");
-	if (root && !settings->board_type) {
+	if (root && err) {
 		char *board_type;
 		const char *tmp;
 
-- 
2.35.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-16 11:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-06 13:19 [PATCH v2] brcmfmac: Prefer DT board type over DMI board type Ivan T. Ivanov
2023-01-06 16:21 ` Arend Van Spriel
2023-01-06 16:35   ` Hector Martin
2023-01-06 17:00 ` Peter Robinson
2023-01-16 11:18 ` Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox