<br><br><div class="gmail_quote">2011/4/11 Sascha Hauer <span dir="ltr">&lt;<a href="mailto:s.hauer@pengutronix.de">s.hauer@pengutronix.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Mon, Apr 11, 2011 at 09:23:56AM +0200, Franck JULLIEN wrote:<br>
&gt; 2011/4/11 Jean-Christophe PLAGNIOL-VILLARD &lt;<a href="mailto:plagnioj@jcrosoft.com">plagnioj@jcrosoft.com</a>&gt;<br>
&gt;<br>
&gt; &gt; On 20:21 Sun 10 Apr     , Franck JULLIEN wrote:<br>
&gt; &gt; &gt;    2011/4/10 Jean-Christophe PLAGNIOL-VILLARD &lt;<a href="mailto:plagnioj@jcrosoft.com">plagnioj@jcrosoft.com</a>&gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;      &gt;      &gt; index 0000000..2687377<br>
&gt; &gt; &gt;      &gt;      &gt; --- /dev/null<br>
&gt; &gt; &gt;      &gt;      &gt; +<br>
&gt; &gt; &gt;      &gt;      &gt; +static int tse_get_ethaddr(struct eth_device *edev,<br>
&gt; &gt; unsigned<br>
&gt; &gt; &gt;      char *m)<br>
&gt; &gt; &gt;      &gt;      &gt; +{<br>
&gt; &gt; &gt;      &gt;      &gt; +     /* There is no eeprom */<br>
&gt; &gt; &gt;      &gt;      so return the content of the register no?<br>
&gt; &gt; &gt;      &gt;<br>
&gt; &gt; &gt;      &gt;    Well, the register is reseted to 0 when the MAC starts so there<br>
&gt; &gt; is<br>
&gt; &gt; &gt;      no<br>
&gt; &gt; &gt;      &gt;    Ethernet address<br>
&gt; &gt; &gt;      &gt;    to get.<br>
&gt; &gt; &gt;      &gt;<br>
&gt; &gt; &gt;      except this function is supposed to return the mac address of the<br>
&gt; &gt; device<br>
&gt; &gt; &gt;      at<br>
&gt; &gt; &gt;      any time so after a set of it it will not be true any more<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;    If I implement the function I get a &quot;eth@eth0: got MAC address from<br>
&gt; &gt; &gt;    EEPROM: 00:00:00:00:00:00&quot; at startup.<br>
&gt; &gt; &gt;    That why I returned -1 as what I could find int at91_ether.c......<br>
&gt; &gt; &gt;    Or, I could find something to return -1 as long as the MAC address<br>
&gt; &gt; hasn&#39;t<br>
&gt; &gt; &gt;    been set.<br>
&gt; &gt; &gt;<br>
&gt; &gt; I known this issue I re-write recently the at91_ether and the same on macb<br>
&gt; &gt; will post the patch soon<br>
&gt; &gt;<br>
&gt; &gt; It&#39;s fine the uperlayer will see that it&#39;s not a valid mac so this will<br>
&gt; &gt; generate a random one<br>
&gt; &gt; cf net/net.c IIRC<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; For me, it&#39;s a bit annoying  to get this message at startup.<br>
&gt;<br>
&gt; Don&#39;t you really think I could have a flag in the private structure to check<br>
&gt; if an address has been set and then return -1 or the address in the<br>
&gt; tse_get_ethaddr function ?<br>
<br>
</div></div>How about the following:<br>
<br>
<br>
diff --git a/net/eth.c b/net/eth.c<br>
index 0251e59..c5b346c 100644<br>
--- a/net/eth.c<br>
+++ b/net/eth.c<br>
@@ -167,8 +167,10 @@ int eth_register(struct eth_device *edev)<br>
<br>
        if (edev-&gt;get_ethaddr(edev, ethaddr) == 0) {<br>
                ethaddr_to_string(ethaddr, ethaddr_str);<br>
-               dev_info(dev, &quot;got MAC address from EEPROM: %s\n&quot;, ethaddr_str);<br>
-               dev_set_param(dev, &quot;ethaddr&quot;, ethaddr_str);<br>
+               if (is_valid_ether_addr(ethaddr)) {<br>
+                       dev_info(dev, &quot;got MAC address from EEPROM: %s\n&quot;, ethaddr_str);<br>
+                       dev_set_param(dev, &quot;ethaddr&quot;, ethaddr_str);<br>
+               }<br>
        }<br>
<br>
        if (!eth_current) {<br>
<br>
Sascha<br>
<font color="#888888"><br></font></blockquote><div><br></div><div>Sounds good :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">
--<br>
Pengutronix e.K.                           |                             |<br>
Industrial Linux Solutions                 | <a href="http://www.pengutronix.de/" target="_blank">http://www.pengutronix.de/</a>  |<br>
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |<br>
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |<br>
</font></blockquote></div><br>