

Patch from Jochen Friedrich <jochen@scram.de>

Reverts a broken attempt to fix a Stanford non-bug, cleans up MAC address
calculation.

"After taking a second look, i just recognized that both cases (MAC adress
 all-zero or not) are handled exactly the same (by duplicated code), so the
 whole stuff is unnecessary.

 The whole function just reduces to a simple copy loop"



 drivers/net/tokenring/smctr.c |   24 ++++--------------------
 1 files changed, 4 insertions(+), 20 deletions(-)

diff -puN drivers/net/tokenring/smctr.c~smctr-fix drivers/net/tokenring/smctr.c
--- 25/drivers/net/tokenring/smctr.c~smctr-fix	Thu Feb 13 15:28:21 2003
+++ 25-akpm/drivers/net/tokenring/smctr.c	Thu Feb 13 15:28:21 2003
@@ -3063,28 +3063,12 @@ static int smctr_load_node_addr(struct n
         unsigned int i;
         __u8 r;
 
-        /* Check if node address has been specified by user. (non-0) */
-        for(i = 0; ((i < 6) && (dev->dev_addr[i] == 0)); i++)
+        for(i = 0; i < 6; i++)
         {
-                if(i != 6)
-                {
-                        for(i = 0; i < 6; i++)
-                        {
-                                r = inb(ioaddr + LAR0 + i);
-                                dev->dev_addr[i] = (char)r;
-                        }
-                        dev->addr_len = 6;
-                }
-                else    /* Node addr. not given by user, read it from board. */
-                {
-                        for(i = 0; i < 6; i++)
-                        {
-                                r = inb(ioaddr + LAR0 + i);
-                                dev->dev_addr[i] = (char)r;
-                        }
-                        dev->addr_len = 6;
-                }
+                r = inb(ioaddr + LAR0 + i);
+                dev->dev_addr[i] = (char)r;
         }
+        dev->addr_len = 6;
 
         return (0);
 }

_
