]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/netconsole.c
libertas: fix spinlock recursion bug
[linux-2.6-omap-h63xx.git] / drivers / net / netconsole.c
index 5ffbb88916473d45e6e60d1d3b57b22ec3651ee5..501e451be9110eb458e144ab12acc982101fd3b3 100644 (file)
@@ -306,9 +306,11 @@ static ssize_t show_remote_ip(struct netconsole_target *nt, char *buf)
 
 static ssize_t show_local_mac(struct netconsole_target *nt, char *buf)
 {
+       struct net_device *dev = nt->np.dev;
+
        DECLARE_MAC_BUF(mac);
-       return snprintf(buf, PAGE_SIZE, "%s\n",
-                       print_mac(mac, nt->np.local_mac));
+       return snprintf(buf, PAGE_SIZE, "%s\n", dev ?
+                       print_mac(mac, dev->dev_addr) : "ff:ff:ff:ff:ff:ff");
 }
 
 static ssize_t show_remote_mac(struct netconsole_target *nt, char *buf)
@@ -667,7 +669,7 @@ static int netconsole_netdev_event(struct notifier_block *this,
        struct netconsole_target *nt;
        struct net_device *dev = ptr;
 
-       if (!(event == NETDEV_CHANGEADDR || event == NETDEV_CHANGENAME))
+       if (!(event == NETDEV_CHANGENAME))
                goto done;
 
        spin_lock_irqsave(&target_list_lock, flags);
@@ -675,10 +677,6 @@ static int netconsole_netdev_event(struct notifier_block *this,
                netconsole_target_get(nt);
                if (nt->np.dev == dev) {
                        switch (event) {
-                       case NETDEV_CHANGEADDR:
-                               memcpy(nt->np.local_mac, dev->dev_addr, ETH_ALEN);
-                               break;
-
                        case NETDEV_CHANGENAME:
                                strlcpy(nt->np.dev_name, dev->name, IFNAMSIZ);
                                break;