2010-02-17 17:55:21

by Steven J. Magnani

[permalink] [raw]
Subject: [PATCH] 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 <[email protected]>
---
diff -uprN a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c
--- a/drivers/net/ll_temac_main.c 2010-02-17 10:38:35.000000000 -0600
+++ b/drivers/net/ll_temac_main.c 2010-02-17 11:47:45.000000000 -0600
@@ -224,6 +224,13 @@ static int temac_set_mac_address(struct
return 0;
}

+static int netdev_set_mac_address(struct net_device *ndev, void *p)
+{
+ struct sockaddr *addr = p;
+
+ return temac_set_mac_address(ndev, addr->sa_data);
+}
+
static void temac_set_multicast_list(struct net_device *ndev)
{
struct temac_local *lp = netdev_priv(ndev);
@@ -768,7 +775,7 @@ static const struct net_device_ops temac
.ndo_open = temac_open,
.ndo_stop = temac_stop,
.ndo_start_xmit = temac_start_xmit,
- .ndo_set_mac_address = temac_set_mac_address,
+ .ndo_set_mac_address = netdev_set_mac_address,
//.ndo_set_multicast_list = temac_set_multicast_list,
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = temac_poll_controller,


2010-02-17 21:42:26

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] ll_temac: Fix MAC address configuration from userland

From: "Steven J. Magnani" <[email protected]>
Date: Wed, 17 Feb 2010 11:55:07 -0600

> 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 <[email protected]>

Applied.