diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2009-01-08 13:47:01 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-08 13:47:01 -0500 |
commit | f52deb0e8408515ecf58c330c93fa99b8cb53cb4 (patch) | |
tree | 5bd7452b0d925f348f52d0ed13970d782b7fdcfc /drivers/net/usb/dm9601.c | |
parent | 4b9f8ec6e5e98779e8b3806a5f58267378ef57eb (diff) |
dm9601: warn on invalid mac address
Add warnings on invalid mac address to help disclose/debug problems.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/dm9601.c')
-rw-r--r-- | drivers/net/usb/dm9601.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c index 63e97a387085..5b67bbf1987e 100644 --- a/drivers/net/usb/dm9601.c +++ b/drivers/net/usb/dm9601.c | |||
@@ -407,8 +407,11 @@ static int dm9601_set_mac_address(struct net_device *net, void *p) | |||
407 | struct sockaddr *addr = p; | 407 | struct sockaddr *addr = p; |
408 | struct usbnet *dev = netdev_priv(net); | 408 | struct usbnet *dev = netdev_priv(net); |
409 | 409 | ||
410 | if (!is_valid_ether_addr(addr->sa_data)) | 410 | if (!is_valid_ether_addr(addr->sa_data)) { |
411 | dev_err(&net->dev, "not setting invalid mac address %pM\n", | ||
412 | addr->sa_data); | ||
411 | return -EINVAL; | 413 | return -EINVAL; |
414 | } | ||
412 | 415 | ||
413 | memcpy(net->dev_addr, addr->sa_data, net->addr_len); | 416 | memcpy(net->dev_addr, addr->sa_data, net->addr_len); |
414 | __dm9601_set_mac_address(dev); | 417 | __dm9601_set_mac_address(dev); |
@@ -455,8 +458,12 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf) | |||
455 | */ | 458 | */ |
456 | if (is_valid_ether_addr(mac)) | 459 | if (is_valid_ether_addr(mac)) |
457 | memcpy(dev->net->dev_addr, mac, ETH_ALEN); | 460 | memcpy(dev->net->dev_addr, mac, ETH_ALEN); |
458 | else | 461 | else { |
462 | printk(KERN_WARNING | ||
463 | "dm9601: No valid MAC address in EEPROM, using %pM\n", | ||
464 | dev->net->dev_addr); | ||
459 | __dm9601_set_mac_address(dev); | 465 | __dm9601_set_mac_address(dev); |
466 | } | ||
460 | 467 | ||
461 | /* power up phy */ | 468 | /* power up phy */ |
462 | dm_write_reg(dev, DM_GPR_CTRL, 1); | 469 | dm_write_reg(dev, DM_GPR_CTRL, 1); |