Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f52deb0e authored by Wu Fengguang's avatar Wu Fengguang Committed by David S. Miller
Browse files

dm9601: warn on invalid mac address



Add warnings on invalid mac address to help disclose/debug problems.

Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Acked-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4b9f8ec6
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -407,8 +407,11 @@ static int dm9601_set_mac_address(struct net_device *net, void *p)
	struct sockaddr *addr = p;
	struct sockaddr *addr = p;
	struct usbnet *dev = netdev_priv(net);
	struct usbnet *dev = netdev_priv(net);


	if (!is_valid_ether_addr(addr->sa_data))
	if (!is_valid_ether_addr(addr->sa_data)) {
		dev_err(&net->dev, "not setting invalid mac address %pM\n",
								addr->sa_data);
		return -EINVAL;
		return -EINVAL;
	}


	memcpy(net->dev_addr, addr->sa_data, net->addr_len);
	memcpy(net->dev_addr, addr->sa_data, net->addr_len);
	__dm9601_set_mac_address(dev);
	__dm9601_set_mac_address(dev);
@@ -455,8 +458,12 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf)
	 */
	 */
	if (is_valid_ether_addr(mac))
	if (is_valid_ether_addr(mac))
		memcpy(dev->net->dev_addr, mac, ETH_ALEN);
		memcpy(dev->net->dev_addr, mac, ETH_ALEN);
	else
	else {
		printk(KERN_WARNING
			"dm9601: No valid MAC address in EEPROM, using %pM\n",
			dev->net->dev_addr);
		__dm9601_set_mac_address(dev);
		__dm9601_set_mac_address(dev);
	}


	/* power up phy */
	/* power up phy */
	dm_write_reg(dev, DM_GPR_CTRL, 1);
	dm_write_reg(dev, DM_GPR_CTRL, 1);