mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	The qca8k patch series brings the numbering to 799. This patch renames 7xx patches to create space for more backports to be added. Signed-off-by: Matthew Hagan <mnhagan88@gmail.com> [rename 729->719] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 029497e66bdc762e001880e4c85a91f35a54b1e2 Mon Sep 17 00:00:00 2001
 | 
						|
From: Christian Lamparter <chunkeey@gmail.com>
 | 
						|
Date: Sun, 19 Sep 2021 13:57:25 +0200
 | 
						|
Subject: [PATCH] net: bgmac-bcma: handle deferred probe error due to
 | 
						|
 mac-address
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Type: text/plain; charset=UTF-8
 | 
						|
Content-Transfer-Encoding: 8bit
 | 
						|
 | 
						|
Due to the inclusion of nvmem handling into the mac-address getter
 | 
						|
function of_get_mac_address() by
 | 
						|
commit d01f449c008a ("of_net: add NVMEM support to of_get_mac_address")
 | 
						|
it is now possible to get a -EPROBE_DEFER return code. Which did cause
 | 
						|
bgmac to assign a random ethernet address.
 | 
						|
 | 
						|
This exact issue happened on my Meraki MR32. The nvmem provider is
 | 
						|
an EEPROM (at24c64) which gets instantiated once the module
 | 
						|
driver is loaded... This happens once the filesystem becomes available.
 | 
						|
 | 
						|
With this patch, bgmac_probe() will propagate the -EPROBE_DEFER error.
 | 
						|
Then the driver subsystem will reschedule the probe at a later time.
 | 
						|
 | 
						|
Cc: Petr Štetiar <ynezz@true.cz>
 | 
						|
Cc: Michael Walle <michael@walle.cc>
 | 
						|
Fixes: d01f449c008a ("of_net: add NVMEM support to of_get_mac_address")
 | 
						|
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
 | 
						|
Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
						|
---
 | 
						|
 drivers/net/ethernet/broadcom/bgmac-bcma.c | 2 ++
 | 
						|
 1 file changed, 2 insertions(+)
 | 
						|
 | 
						|
--- a/drivers/net/ethernet/broadcom/bgmac-bcma.c
 | 
						|
+++ b/drivers/net/ethernet/broadcom/bgmac-bcma.c
 | 
						|
@@ -129,6 +129,8 @@ static int bgmac_probe(struct bcma_devic
 | 
						|
 	bcma_set_drvdata(core, bgmac);
 | 
						|
 
 | 
						|
 	err = of_get_mac_address(bgmac->dev->of_node, bgmac->net_dev->dev_addr);
 | 
						|
+	if (err == -EPROBE_DEFER)
 | 
						|
+		return err;
 | 
						|
 
 | 
						|
 	/* If no MAC address assigned via device tree, check SPROM */
 | 
						|
 	if (err) {
 |