Message ID | 1370255919-12762-1-git-send-email-l.stach@pengutronix.de |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Hello. On 03-06-2013 14:38, Lucas Stach wrote: > If no valid MAC address could be obtained from the hardware, > fall back to a randomly generated one. > Signed-off-by: Pavel Machek <pavel@denx.de> > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> > --- > drivers/net/ethernet/freescale/fec_main.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c > index 927f4c6..0063761 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -1039,6 +1039,18 @@ static void fec_get_mac(struct net_device *ndev) > iap = &tmpaddr[0]; > } > > + /* > + * 5) random mac address > + */ > + if (!is_valid_ether_addr(iap)) { > + /* Report it and use a random ethernet address instead */ > + netdev_err(ndev, "Invalid MAC address: %pM\n", iap); > + eth_hw_addr_random(ndev); > + netdev_info(ndev, "Using random MAC address: %pM\n", > + ndev->dev_addr); > + return; > + } > + > memcpy(ndev->dev_addr, iap, ETH_ALEN); This was you'll copy an invalid address over the random one again. WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 03-06-2013 15:30, I wrote: >> If no valid MAC address could be obtained from the hardware, >> fall back to a randomly generated one. >> Signed-off-by: Pavel Machek <pavel@denx.de> >> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> >> --- >> drivers/net/ethernet/freescale/fec_main.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> diff --git a/drivers/net/ethernet/freescale/fec_main.c >> b/drivers/net/ethernet/freescale/fec_main.c >> index 927f4c6..0063761 100644 >> --- a/drivers/net/ethernet/freescale/fec_main.c >> +++ b/drivers/net/ethernet/freescale/fec_main.c >> @@ -1039,6 +1039,18 @@ static void fec_get_mac(struct net_device *ndev) >> iap = &tmpaddr[0]; >> } >> >> + /* >> + * 5) random mac address >> + */ >> + if (!is_valid_ether_addr(iap)) { >> + /* Report it and use a random ethernet address instead */ >> + netdev_err(ndev, "Invalid MAC address: %pM\n", iap); >> + eth_hw_addr_random(ndev); >> + netdev_info(ndev, "Using random MAC address: %pM\n", >> + ndev->dev_addr); >> + return; >> + } >> + >> memcpy(ndev->dev_addr, iap, ETH_ALEN); > This was you'll copy an invalid address over the random one again. Oh, sorry, have overlooked *return*... :-< WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 2013-06-03 at 12:38 +0200, Lucas Stach wrote: > If no valid MAC address could be obtained from the hardware, > fall back to a randomly generated one. [] > diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c [] > @@ -1039,6 +1039,18 @@ static void fec_get_mac(struct net_device *ndev) [] > + if (!is_valid_ether_addr(iap)) { > + /* Report it and use a random ethernet address instead */ > + netdev_err(ndev, "Invalid MAC address: %pM\n", iap); > + eth_hw_addr_random(ndev); > + netdev_info(ndev, "Using random MAC address: %pM\n", > + ndev->dev_addr); Perhaps a single line message would be better, something like: eth_hw_addr_random(ndev); netdev_info(ndev, "Has invalid MAC addr %pM, using random %pM\n", iap, ndev->dev_addr); Looking treewide at uses of eth_hw_addr_random, there's no standard message so maybe standardization is a possible effort for another time. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Lucas Stach <l.stach@pengutronix.de> Date: Mon, 3 Jun 2013 12:38:39 +0200 > If no valid MAC address could be obtained from the hardware, > fall back to a randomly generated one. > > Signed-off-by: Pavel Machek <pavel@denx.de> > Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 927f4c6..0063761 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -1039,6 +1039,18 @@ static void fec_get_mac(struct net_device *ndev) iap = &tmpaddr[0]; } + /* + * 5) random mac address + */ + if (!is_valid_ether_addr(iap)) { + /* Report it and use a random ethernet address instead */ + netdev_err(ndev, "Invalid MAC address: %pM\n", iap); + eth_hw_addr_random(ndev); + netdev_info(ndev, "Using random MAC address: %pM\n", + ndev->dev_addr); + return; + } + memcpy(ndev->dev_addr, iap, ETH_ALEN); /* Adjust MAC if using macaddr */