mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04: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) {
 |