2012-02-16 17:09:52

by Danny Kukawka

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

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


2012-02-16 17:09:53

by Danny Kukawka

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

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 <[email protected]>
---
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

2012-02-16 17:10:21

by Danny Kukawka

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

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 <[email protected]>
---
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

2012-02-17 04:37:48

by Mike Frysinger

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

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

2012-02-17 04:38:34

by Mike Frysinger

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

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 <[email protected]>
-mike

2012-02-17 10:59:00

by Danny Kukawka

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

On Freitag, 17. Februar 2012, Mike Frysinger wrote:
> 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 ?

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

2012-02-17 23:16:00

by Mike Frysinger

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

On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
> On Freitag, 17. Februar 2012, Mike Frysinger wrote:
> > 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 ?
>
> 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


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part.

2012-02-17 23:27:48

by Joe Perches

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

On Fri, 2012-02-17 at 18:15 -0500, Mike Frysinger wrote:
> On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
> > 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.

2012-02-18 13:29:13

by Danny Kukawka

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

On Samstag, 18. Februar 2012, Joe Perches wrote:
> On Fri, 2012-02-17 at 18:15 -0500, Mike Frysinger wrote:
> > On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
> > > 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

2012-02-19 02:47:11

by Mike Frysinger

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

On Saturday 18 February 2012 08:28:06 Danny Kukawka wrote:
> On Samstag, 18. Februar 2012, Joe Perches wrote:
> > On Fri, 2012-02-17 at 18:15 -0500, Mike Frysinger wrote:
> > > On Friday 17 February 2012 05:57:54 Danny Kukawka wrote:
> > > > 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


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part.

2012-02-20 00:06:15

by David Miller

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

From: Danny Kukawka <[email protected]>
Date: Fri, 17 Feb 2012 11:57:54 +0100

> On Freitag, 17. Februar 2012, Mike Frysinger wrote:
>> 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 ?
>
> 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.

2012-02-20 00:06:26

by David Miller

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

From: Mike Frysinger <[email protected]>
Date: Thu, 16 Feb 2012 23:38:11 -0500

> 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 <[email protected]>

Applied.

2012-02-20 00:06:30

by David Miller

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

From: Danny Kukawka <[email protected]>
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 <[email protected]>

Applied.