[PATCH v2 0/2] Part 3: handle random addresses on blackfin

STALE5292d

13 messages, 4 authors, 2012-02-20 · open the first message on its own page

[PATCH v2 0/2] Part 3: handle random addresses on blackfin

From: Danny Kukawka <hidden>
Date: 2012-02-16 17:09:52

The third part of my patch series to fix the handling of 
addr_assign_type for random MAC addresses. This contains the 
changes for the blackfin architecture and the adi ethernet
driver.

Please make sure you do a short compile test before pushing them.

Thanks!

Danny Kukawka (2):
  arch/blackfin: don't generate random mac in bfin_get_ether_addr()
  adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

 arch/blackfin/mach-bf518/boards/ezbrd.c      |    3 ++-
 arch/blackfin/mach-bf518/boards/tcm-bf518.c  |    5 ++---
 arch/blackfin/mach-bf527/boards/ad7160eval.c |    3 ++-
 arch/blackfin/mach-bf527/boards/cm_bf527.c   |    5 ++---
 arch/blackfin/mach-bf527/boards/ezbrd.c      |    3 ++-
 arch/blackfin/mach-bf527/boards/ezkit.c      |    3 ++-
 arch/blackfin/mach-bf527/boards/tll6527m.c   |    3 ++-
 arch/blackfin/mach-bf537/boards/cm_bf537e.c  |    5 ++---
 arch/blackfin/mach-bf537/boards/cm_bf537u.c  |    5 ++---
 arch/blackfin/mach-bf537/boards/dnp5370.c    |    3 ++-
 arch/blackfin/mach-bf537/boards/pnav10.c     |    5 ++---
 arch/blackfin/mach-bf537/boards/stamp.c      |    3 ++-
 arch/blackfin/mach-bf537/boards/tcm_bf537.c  |    5 ++---
 drivers/net/ethernet/adi/bfin_mac.c          |   15 +++++++++------
 drivers/net/ethernet/adi/bfin_mac.h          |    2 +-
 15 files changed, 36 insertions(+), 32 deletions(-)

-- 
1.7.8.3

[PATCH v2 1/2] arch/blackfin: don't generate random mac in bfin_get_ether_addr()

From: Danny Kukawka <hidden>
Date: 2012-02-16 17:09:53

Changed bfin_get_ether_addr() to return a state and to
set no random mac address if the board don't provide one.

Let the caller of bfin_get_ether_addr() set a random mac
address if the return value is not 0.

v2: don't set random mac in bfin_get_ether_addr()

Signed-off-by: Danny Kukawka <redacted>
---
 arch/blackfin/mach-bf518/boards/ezbrd.c      |    3 ++-
 arch/blackfin/mach-bf518/boards/tcm-bf518.c  |    5 ++---
 arch/blackfin/mach-bf527/boards/ad7160eval.c |    3 ++-
 arch/blackfin/mach-bf527/boards/cm_bf527.c   |    5 ++---
 arch/blackfin/mach-bf527/boards/ezbrd.c      |    3 ++-
 arch/blackfin/mach-bf527/boards/ezkit.c      |    3 ++-
 arch/blackfin/mach-bf527/boards/tll6527m.c   |    3 ++-
 arch/blackfin/mach-bf537/boards/cm_bf537e.c  |    5 ++---
 arch/blackfin/mach-bf537/boards/cm_bf537u.c  |    5 ++---
 arch/blackfin/mach-bf537/boards/dnp5370.c    |    3 ++-
 arch/blackfin/mach-bf537/boards/pnav10.c     |    5 ++---
 arch/blackfin/mach-bf537/boards/stamp.c      |    3 ++-
 arch/blackfin/mach-bf537/boards/tcm_bf537.c  |    5 ++---
 13 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/arch/blackfin/mach-bf518/boards/ezbrd.c b/arch/blackfin/mach-bf518/boards/ezbrd.c
index a2d96d3..a173957 100644
--- a/arch/blackfin/mach-bf518/boards/ezbrd.c
+++ b/arch/blackfin/mach-bf518/boards/ezbrd.c
@@ -821,7 +821,7 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	/* the MAC is stored in OTP memory page 0xDF */
 	u32 ret;
@@ -834,5 +834,6 @@ void bfin_get_ether_addr(char *addr)
 		for (ret = 0; ret < 6; ++ret)
 			addr[ret] = otp_mac_p[5 - ret];
 	}
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf518/boards/tcm-bf518.c b/arch/blackfin/mach-bf518/boards/tcm-bf518.c
index f271310..6eebee4 100644
--- a/arch/blackfin/mach-bf518/boards/tcm-bf518.c
+++ b/arch/blackfin/mach-bf518/boards/tcm-bf518.c
@@ -730,9 +730,8 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
-	random_ether_addr(addr);
-	printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__);
+	return 1;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf527/boards/ad7160eval.c b/arch/blackfin/mach-bf527/boards/ad7160eval.c
index c8d5d2b..fad7fea 100644
--- a/arch/blackfin/mach-bf527/boards/ad7160eval.c
+++ b/arch/blackfin/mach-bf527/boards/ad7160eval.c
@@ -846,7 +846,7 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	/* the MAC is stored in OTP memory page 0xDF */
 	u32 ret;
@@ -859,5 +859,6 @@ void bfin_get_ether_addr(char *addr)
 		for (ret = 0; ret < 6; ++ret)
 			addr[ret] = otp_mac_p[5 - ret];
 	}
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf527/boards/cm_bf527.c b/arch/blackfin/mach-bf527/boards/cm_bf527.c
index 7330607..65b7fbd 100644
--- a/arch/blackfin/mach-bf527/boards/cm_bf527.c
+++ b/arch/blackfin/mach-bf527/boards/cm_bf527.c
@@ -983,9 +983,8 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
-	random_ether_addr(addr);
-	printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__);
+	return 1;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf527/boards/ezbrd.c b/arch/blackfin/mach-bf527/boards/ezbrd.c
index db3ecfc..17c6a24 100644
--- a/arch/blackfin/mach-bf527/boards/ezbrd.c
+++ b/arch/blackfin/mach-bf527/boards/ezbrd.c
@@ -870,7 +870,7 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	/* the MAC is stored in OTP memory page 0xDF */
 	u32 ret;
@@ -883,5 +883,6 @@ void bfin_get_ether_addr(char *addr)
 		for (ret = 0; ret < 6; ++ret)
 			addr[ret] = otp_mac_p[5 - ret];
 	}
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c
index dfdd8e6..2f9a2bd 100644
--- a/arch/blackfin/mach-bf527/boards/ezkit.c
+++ b/arch/blackfin/mach-bf527/boards/ezkit.c
@@ -1311,7 +1311,7 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	/* the MAC is stored in OTP memory page 0xDF */
 	u32 ret;
@@ -1324,5 +1324,6 @@ void bfin_get_ether_addr(char *addr)
 		for (ret = 0; ret < 6; ++ret)
 			addr[ret] = otp_mac_p[5 - ret];
 	}
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf527/boards/tll6527m.c b/arch/blackfin/mach-bf527/boards/tll6527m.c
index 360e97f..d192c0a 100644
--- a/arch/blackfin/mach-bf527/boards/tll6527m.c
+++ b/arch/blackfin/mach-bf527/boards/tll6527m.c
@@ -931,7 +931,7 @@ void native_machine_restart(char *cmd)
 		bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS);
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	/* the MAC is stored in OTP memory page 0xDF */
 	u32 ret;
@@ -945,5 +945,6 @@ void bfin_get_ether_addr(char *addr)
 		for (ret = 0; ret < 6; ++ret)
 			addr[ret] = otp_mac_p[5 - ret];
 	}
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537e.c b/arch/blackfin/mach-bf537/boards/cm_bf537e.c
index 0d4a2f6..27fd2c3 100644
--- a/arch/blackfin/mach-bf537/boards/cm_bf537e.c
+++ b/arch/blackfin/mach-bf537/boards/cm_bf537e.c
@@ -813,9 +813,8 @@ void __init native_machine_early_platform_add_devices(void)
 		ARRAY_SIZE(cm_bf537e_early_devices));
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
-	random_ether_addr(addr);
-	printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__);
+	return 1;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf537/boards/cm_bf537u.c b/arch/blackfin/mach-bf537/boards/cm_bf537u.c
index f553698..3f3abad 100644
--- a/arch/blackfin/mach-bf537/boards/cm_bf537u.c
+++ b/arch/blackfin/mach-bf537/boards/cm_bf537u.c
@@ -790,9 +790,8 @@ void __init native_machine_early_platform_add_devices(void)
 		ARRAY_SIZE(cm_bf537u_early_devices));
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
-	random_ether_addr(addr);
-	printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__);
+	return 1;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf537/boards/dnp5370.c b/arch/blackfin/mach-bf537/boards/dnp5370.c
index 11dadeb..6f77bf7 100644
--- a/arch/blackfin/mach-bf537/boards/dnp5370.c
+++ b/arch/blackfin/mach-bf537/boards/dnp5370.c
@@ -399,9 +399,10 @@ arch_initcall(dnp5370_init);
 /*
  * Currently the MAC address is saved in Flash by U-Boot
  */
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	*(u32 *)(&(addr[0])) = bfin_read32(FLASH_MAC);
 	*(u16 *)(&(addr[4])) = bfin_read16(FLASH_MAC + 4);
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c
index 6fd8470..e9507fe 100644
--- a/arch/blackfin/mach-bf537/boards/pnav10.c
+++ b/arch/blackfin/mach-bf537/boards/pnav10.c
@@ -535,9 +535,8 @@ void __init native_machine_early_platform_add_devices(void)
 		ARRAY_SIZE(stamp_early_devices));
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
-	random_ether_addr(addr);
-	printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__);
+	return 1;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c
index 2221173..0b80725 100644
--- a/arch/blackfin/mach-bf537/boards/stamp.c
+++ b/arch/blackfin/mach-bf537/boards/stamp.c
@@ -2993,9 +2993,10 @@ void native_machine_restart(char *cmd)
  * Currently the MAC address is saved in Flash by U-Boot
  */
 #define FLASH_MAC	0x203f0000
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
 	*(u32 *)(&(addr[0])) = bfin_read32(FLASH_MAC);
 	*(u16 *)(&(addr[4])) = bfin_read16(FLASH_MAC + 4);
+	return 0;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
diff --git a/arch/blackfin/mach-bf537/boards/tcm_bf537.c b/arch/blackfin/mach-bf537/boards/tcm_bf537.c
index 9885176..3fb4218 100644
--- a/arch/blackfin/mach-bf537/boards/tcm_bf537.c
+++ b/arch/blackfin/mach-bf537/boards/tcm_bf537.c
@@ -780,9 +780,8 @@ void __init native_machine_early_platform_add_devices(void)
 		ARRAY_SIZE(cm_bf537_early_devices));
 }
 
-void bfin_get_ether_addr(char *addr)
+int bfin_get_ether_addr(char *addr)
 {
-	random_ether_addr(addr);
-	printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__);
+	return 1;
 }
 EXPORT_SYMBOL(bfin_get_ether_addr);
-- 
1.7.8.3

[PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Danny Kukawka <hidden>
Date: 2012-02-16 17:10:21

Adapt adi ethernet driver to changes in bfin_get_ether_addr()
from arch/blackfin. bfin_get_ether_addr() returns now a state.
Set a random mac address via new eth_hw_addr_random() in case
the return value is not 0.

Reset the state to NET_ADDR_PERM as soon as the MAC get
changed via .ndo_set_mac_address.

v2: change the logic to reduce unneeded checks

Signed-off-by: Danny Kukawka <redacted>
---
 drivers/net/ethernet/adi/bfin_mac.c |   15 +++++++++------
 drivers/net/ethernet/adi/bfin_mac.h |    2 +-
 2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/adi/bfin_mac.c b/drivers/net/ethernet/adi/bfin_mac.c
index d812a10..905f0e1 100644
--- a/drivers/net/ethernet/adi/bfin_mac.c
+++ b/drivers/net/ethernet/adi/bfin_mac.c
@@ -621,6 +621,7 @@ static int bfin_mac_set_mac_address(struct net_device *dev, void *p)
 	if (netif_running(dev))
 		return -EBUSY;
 	memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
+	dev->addr_assign_type &= ~NET_ADDR_RANDOM;
 	setup_mac_addr(dev->dev_addr);
 	return 0;
 }
@@ -1496,12 +1497,14 @@ static int __devinit bfin_mac_probe(struct platform_device *pdev)
 	 * Grab the MAC from the board somehow
 	 * this is done in the arch/blackfin/mach-bfxxx/boards/eth_mac.c
 	 */
-	if (!is_valid_ether_addr(ndev->dev_addr))
-		bfin_get_ether_addr(ndev->dev_addr);
-
-	/* If still not valid, get a random one */
-	if (!is_valid_ether_addr(ndev->dev_addr))
-		random_ether_addr(ndev->dev_addr);
+	if (!is_valid_ether_addr(ndev->dev_addr)) {
+		if (bfin_get_ether_addr(ndev->dev_addr) || 
+		     !is_valid_ether_addr(ndev->dev_addr)) {
+			/* Still not valid, get a random one */
+			netdev_warn(ndev, "Setting Ethernet MAC to a random one\n");
+			eth_hw_addr_random(ndev);
+		}
+	}
 
 	setup_mac_addr(ndev->dev_addr);
 
diff --git a/drivers/net/ethernet/adi/bfin_mac.h b/drivers/net/ethernet/adi/bfin_mac.h
index f8559ac..960905c 100644
--- a/drivers/net/ethernet/adi/bfin_mac.h
+++ b/drivers/net/ethernet/adi/bfin_mac.h
@@ -101,6 +101,6 @@ struct bfin_mac_local {
 #endif
 };
 
-extern void bfin_get_ether_addr(char *addr);
+extern int bfin_get_ether_addr(char *addr);
 
 #endif
-- 
1.7.8.3

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Mike Frysinger <hidden>
Date: 2012-02-17 04:37:48

On Thu, Feb 16, 2012 at 12:09, Danny Kukawka wrote:
+                       netdev_warn(ndev, "Setting Ethernet MAC to a random one\n");
+                       eth_hw_addr_random(ndev);
would it make sense to have the core dump the warning ?
-mike

Re: [PATCH v2 1/2] arch/blackfin: don't generate random mac in bfin_get_ether_addr()

From: Mike Frysinger <hidden>
Date: 2012-02-17 04:38:34

On Thu, Feb 16, 2012 at 12:09, Danny Kukawka wrote:
Changed bfin_get_ether_addr() to return a state and to
set no random mac address if the board don't provide one.

Let the caller of bfin_get_ether_addr() set a random mac
address if the return value is not 0.
Acked-by: Mike Frysinger <redacted>
-mike

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Danny Kukawka <hidden>
Date: 2012-02-17 10:59:00

On Freitag, 17. Februar 2012, Mike Frysinger wrote:
On Thu, Feb 16, 2012 at 12:09, Danny Kukawka wrote:
quoted
+                       netdev_warn(ndev, "Setting Ethernet MAC to a
random one\n"); +                       eth_hw_addr_random(ndev);
would it make sense to have the core dump the warning ?
Maybe. Many drivers already print information about setting a random mac 
address to a netdevice. Some with printk, some via 
netdev_warn/netdev_info/netdev_dbg or netif_dbg and other with costum 
methods. I could unify this, in a next step with a netdev_info in 
eth_hw_addr_random(), if it's okay for David. 

Danny

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Mike Frysinger <hidden>
Date: 2012-02-17 23:16:00

On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
On Freitag, 17. Februar 2012, Mike Frysinger wrote:
quoted
On Thu, Feb 16, 2012 at 12:09, Danny Kukawka wrote:
quoted
+                       netdev_warn(ndev, "Setting Ethernet MAC to a
random one\n"); +                       eth_hw_addr_random(ndev);
would it make sense to have the core dump the warning ?
Maybe. Many drivers already print information about setting a random mac
address to a netdevice. Some with printk, some via
netdev_warn/netdev_info/netdev_dbg or netif_dbg and other with costum
methods. I could unify this, in a next step with a netdev_info in
eth_hw_addr_random(), if it's okay for David.
i think unification in the core makes sense.  it enforces consistency and 
removes duplication.
-mike

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Joe Perches <joe@perches.com>
Date: 2012-02-17 23:27:48

On Fri, 2012-02-17 at 18:15 -0500, Mike Frysinger wrote:
On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
quoted
Maybe. Many drivers already print information about setting a random mac
address to a netdevice. Some with printk, some via
netdev_warn/netdev_info/netdev_dbg or netif_dbg and other with costum
methods. I could unify this, in a next step with a netdev_info in
eth_hw_addr_random(), if it's okay for David.
i think unification in the core makes sense.  it enforces consistency and 
removes duplication.
It's a good idea.

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Danny Kukawka <hidden>
Date: 2012-02-18 13:29:13

On Samstag, 18. Februar 2012, Joe Perches wrote:
On Fri, 2012-02-17 at 18:15 -0500, Mike Frysinger wrote:
quoted
On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
quoted
Maybe. Many drivers already print information about setting a random
mac address to a netdevice. Some with printk, some via
netdev_warn/netdev_info/netdev_dbg or netif_dbg and other with costum
methods. I could unify this, in a next step with a netdev_info in
eth_hw_addr_random(), if it's okay for David.
i think unification in the core makes sense.  it enforces consistency and
removes duplication.
It's a good idea.
Okay ... I'll send a patch to print a message via netdev_info from 
eth_hw_addr_random() and to cleanup the drivers.

Danny

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: Mike Frysinger <hidden>
Date: 2012-02-19 02:47:11

On Saturday 18 February 2012 08:28:06 Danny Kukawka wrote:
On Samstag, 18. Februar 2012, Joe Perches wrote:
quoted
On Fri, 2012-02-17 at 18:15 -0500, Mike Frysinger wrote:
quoted
On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
quoted
Maybe. Many drivers already print information about setting a random
mac address to a netdevice. Some with printk, some via
netdev_warn/netdev_info/netdev_dbg or netif_dbg and other with costum
methods. I could unify this, in a next step with a netdev_info in
eth_hw_addr_random(), if it's okay for David.
i think unification in the core makes sense.  it enforces consistency
and removes duplication.
It's a good idea.
Okay ... I'll send a patch to print a message via netdev_info from
eth_hw_addr_random() and to cleanup the drivers.
thanks!
-mike

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: David Miller <davem@davemloft.net>
Date: 2012-02-20 00:06:15

From: Danny Kukawka <redacted>
Date: Fri, 17 Feb 2012 11:57:54 +0100
On Freitag, 17. Februar 2012, Mike Frysinger wrote:
quoted
On Thu, Feb 16, 2012 at 12:09, Danny Kukawka wrote:
quoted
+                       netdev_warn(ndev, "Setting Ethernet MAC to a
random one\n"); +                       eth_hw_addr_random(ndev);
would it make sense to have the core dump the warning ?
Maybe. Many drivers already print information about setting a random mac 
address to a netdevice. Some with printk, some via 
netdev_warn/netdev_info/netdev_dbg or netif_dbg and other with costum 
methods. I could unify this, in a next step with a netdev_info in 
eth_hw_addr_random(), if it's okay for David. 
All of these log messages are stupid and should be removed.

If someone is seriously interested in it, we have the damn random
address boolean state which can be inspected in the sysfs addr_assign_type
node for the device.

End of story.

Re: [PATCH v2 1/2] arch/blackfin: don't generate random mac in bfin_get_ether_addr()

From: David Miller <davem@davemloft.net>
Date: 2012-02-20 00:06:26

From: Mike Frysinger <redacted>
Date: Thu, 16 Feb 2012 23:38:11 -0500
On Thu, Feb 16, 2012 at 12:09, Danny Kukawka wrote:
quoted
Changed bfin_get_ether_addr() to return a state and to
set no random mac address if the board don't provide one.

Let the caller of bfin_get_ether_addr() set a random mac
address if the return value is not 0.
Acked-by: Mike Frysinger <redacted>
Applied.

Re: [PATCH v2 2/2] adi: adapt to eth_hw_addr_random() and changes in arch/blackfin

From: David Miller <davem@davemloft.net>
Date: 2012-02-20 00:06:30

From: Danny Kukawka <redacted>
Date: Thu, 16 Feb 2012 18:09:31 +0100
Adapt adi ethernet driver to changes in bfin_get_ether_addr()
from arch/blackfin. bfin_get_ether_addr() returns now a state.
Set a random mac address via new eth_hw_addr_random() in case
the return value is not 0.

Reset the state to NET_ADDR_PERM as soon as the MAC get
changed via .ndo_set_mac_address.

v2: change the logic to reduce unneeded checks

Signed-off-by: Danny Kukawka <redacted>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help