]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/82596.c
fbdev: fix fb_compat_ioctl() deadlocks
[linux-2.6-omap-h63xx.git] / drivers / net / 82596.c
index 6b03416731de7b597947dc0c0f00e950295a5ae1..da292e647eb117c496e3c4c6f6108e0e8c316c94 100644 (file)
@@ -1116,15 +1116,12 @@ static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 static void print_eth(unsigned char *add, char *str)
 {
-       int i;
+       DECLARE_MAC_BUF(mac);
+       DECLARE_MAC_BUF(mac2);
 
-       printk(KERN_DEBUG "i596 0x%p, ", add);
-       for (i = 0; i < 6; i++)
-               printk(" %02X", add[i + 6]);
-       printk(" -->");
-       for (i = 0; i < 6; i++)
-               printk(" %02X", add[i]);
-       printk(" %02X%02X, %s\n", add[12], add[13], str);
+       printk(KERN_DEBUG "i596 0x%p, %s --> %s %02X%02X, %s\n",
+              add, print_mac(mac, add + 6), print_mac(mac2, add),
+              add[12], add[13], str);
 }
 
 static int io = 0x300;
@@ -1165,6 +1162,7 @@ struct net_device * __init i82596_probe(int unit)
                memcpy(eth_addr, (void *) 0xfffc1f2c, 6);       /* YUCK! Get addr from NOVRAM */
                dev->base_addr = MVME_I596_BASE;
                dev->irq = (unsigned) MVME16x_IRQ_I596;
+               goto found;
        }
 #endif
 #ifdef ENABLE_BVME6000_NET
@@ -1179,6 +1177,7 @@ struct net_device * __init i82596_probe(int unit)
                rtc[3] = msr;
                dev->base_addr = BVME_I596_BASE;
                dev->irq = (unsigned) BVME_IRQ_I596;
+               goto found;
        }
 #endif
 #ifdef ENABLE_APRICOT
@@ -1195,6 +1194,8 @@ struct net_device * __init i82596_probe(int unit)
                        goto out;
                }
 
+               dev->base_addr = ioaddr;
+
                for (i = 0; i < 8; i++) {
                        eth_addr[i] = inb(ioaddr + 8 + i);
                        checksum += eth_addr[i];
@@ -1212,10 +1213,14 @@ struct net_device * __init i82596_probe(int unit)
                        goto out1;
                }
 
-               dev->base_addr = ioaddr;
                dev->irq = 10;
+               goto found;
        }
 #endif
+       err = -ENODEV;
+       goto out;
+
+found:
        dev->mem_start = (int)__get_free_pages(GFP_ATOMIC, 0);
        if (!dev->mem_start) {
                err = -ENOMEM;
@@ -1539,6 +1544,7 @@ static void set_multicast_list(struct net_device *dev)
                struct dev_mc_list *dmi;
                unsigned char *cp;
                struct mc_cmd *cmd;
+               DECLARE_MAC_BUF(mac);
 
                if (wait_cfg(dev, &lp->mc_cmd.cmd, 1000, "multicast list change request timed out"))
                        return;
@@ -1549,8 +1555,8 @@ static void set_multicast_list(struct net_device *dev)
                for (dmi = dev->mc_list; cnt && dmi != NULL; dmi = dmi->next, cnt--, cp += 6) {
                        memcpy(cp, dmi->dmi_addr, 6);
                        if (i596_debug > 1)
-                               DEB(DEB_MULTI,printk(KERN_INFO "%s: Adding address %02x:%02x:%02x:%02x:%02x:%02x\n",
-                                               dev->name, cp[0],cp[1],cp[2],cp[3],cp[4],cp[5]));
+                               DEB(DEB_MULTI,printk(KERN_INFO "%s: Adding address %s\n",
+                                               dev->name, print_mac(mac, cp)));
                }
                i596_add_cmd(dev, &cmd->cmd);
        }