diff options
author | Steven J. Magnani <steve@digidescorp.com> | 2010-02-17 02:55:07 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-17 16:35:36 -0500 |
commit | 8ea7a37c5a312bfee51ff7f12f78efe4fbc901cc (patch) | |
tree | deaa36b1cbd04a758bc2c662fdbc83040c8423ab /drivers | |
parent | c3b7c12cd78d5c8264c87c29dcd9a8f1819f8313 (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')
-rw-r--r-- | drivers/net/ll_temac_main.c | 9 |
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 | ||
227 | static 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 | |||
227 | static void temac_set_multicast_list(struct net_device *ndev) | 234 | static 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, |