Patchwork [7/7] octeon: use dev_set_mac_address() instead of octeon_mgmt_set_mac_address()

login
register
mail settings
Submitter Danny Kukawka
Date March 1, 2012, 4:52 p.m.
Message ID <1330620747-4047-8-git-send-email-danny.kukawka@bisect.de>
Download mbox | patch
Permalink /patch/144070/
State Changes Requested
Delegated to: David Miller
Headers show

Comments

Danny Kukawka - March 1, 2012, 4:52 p.m.
Use dev_set_mac_address() instead of octeon_mgmt_set_mac_address() directly
to get validation checks for free.

Add .ndo_validate_addr = eth_validate_addr to enable validation.

Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de>
---
 drivers/net/ethernet/octeon/octeon_mgmt.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

Patch

diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c
index cd827ff..096e390 100644
--- a/drivers/net/ethernet/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/octeon/octeon_mgmt.c
@@ -551,9 +551,6 @@  static int octeon_mgmt_set_mac_address(struct net_device *netdev, void *addr)
 {
 	struct sockaddr *sa = addr;
 
-	if (!is_valid_ether_addr(sa->sa_data))
-		return -EADDRNOTAVAIL;
-
 	memcpy(netdev->dev_addr, sa->sa_data, ETH_ALEN);
 
 	octeon_mgmt_set_rx_filtering(netdev);
@@ -768,7 +765,7 @@  static int octeon_mgmt_open(struct net_device *netdev)
 	cvmx_write_csr(CVMX_AGL_GMX_PRTX_CFG(port), prtx_cfg.u64);
 
 	memcpy(sa.sa_data, netdev->dev_addr, ETH_ALEN);
-	octeon_mgmt_set_mac_address(netdev, &sa);
+	dev_set_mac_address(netdev, &sa);
 
 	octeon_mgmt_change_mtu(netdev, netdev->mtu);
 
@@ -1064,6 +1061,7 @@  static const struct net_device_ops octeon_mgmt_ops = {
 	.ndo_set_mac_address =		octeon_mgmt_set_mac_address,
 	.ndo_do_ioctl = 		octeon_mgmt_ioctl,
 	.ndo_change_mtu =		octeon_mgmt_change_mtu,
+	.ndo_validate_addr =		eth_validate_addr,
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	.ndo_poll_controller =		octeon_mgmt_poll_controller,
 #endif