aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ll_temac_main.c
diff options
context:
space:
mode:
authorSteven J. Magnani <steve@digidescorp.com>2010-02-17 02:55:07 -0500
committerDavid S. Miller <davem@davemloft.net>2010-02-17 16:35:36 -0500
commit8ea7a37c5a312bfee51ff7f12f78efe4fbc901cc (patch)
treedeaa36b1cbd04a758bc2c662fdbc83040c8423ab /drivers/net/ll_temac_main.c
parentc3b7c12cd78d5c8264c87c29dcd9a8f1819f8313 (diff)
ll_temac: Fix MAC address configuration from userland
A userland command to set the LLTEMAC MAC address, i.e. "ifconfig eth0 hw addr xx:yy:zz:pp:dd:qq", results in a device address of 00:01:xx:yy:zz:pp. Correct this. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ll_temac_main.c')
-rw-r--r--drivers/net/ll_temac_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c
index d7eb24cc2648..e53440253748 100644
--- a/drivers/net/ll_temac_main.c
+++ b/drivers/net/ll_temac_main.c
@@ -224,6 +224,13 @@ static int temac_set_mac_address(struct net_device *ndev, void *address)
224 return 0; 224 return 0;
225} 225}
226 226
227static int netdev_set_mac_address(struct net_device *ndev, void *p)
228{
229 struct sockaddr *addr = p;
230
231 return temac_set_mac_address(ndev, addr->sa_data);
232}
233
227static void temac_set_multicast_list(struct net_device *ndev) 234static void temac_set_multicast_list(struct net_device *ndev)
228{ 235{
229 struct temac_local *lp = netdev_priv(ndev); 236 struct temac_local *lp = netdev_priv(ndev);
@@ -768,7 +775,7 @@ static const struct net_device_ops temac_netdev_ops = {
768 .ndo_open = temac_open, 775 .ndo_open = temac_open,
769 .ndo_stop = temac_stop, 776 .ndo_stop = temac_stop,
770 .ndo_start_xmit = temac_start_xmit, 777 .ndo_start_xmit = temac_start_xmit,
771 .ndo_set_mac_address = temac_set_mac_address, 778 .ndo_set_mac_address = netdev_set_mac_address,
772 //.ndo_set_multicast_list = temac_set_multicast_list, 779 //.ndo_set_multicast_list = temac_set_multicast_list,
773#ifdef CONFIG_NET_POLL_CONTROLLER 780#ifdef CONFIG_NET_POLL_CONTROLLER
774 .ndo_poll_controller = temac_poll_controller, 781 .ndo_poll_controller = temac_poll_controller,