* [PATCH 0/2] reuse eth_mac_addr() @ 2012-02-22 12:36 Danny Kukawka 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 0 siblings, 2 replies; 8+ messages in thread From: Danny Kukawka @ 2012-02-22 12:36 UTC (permalink / raw) To: David Dillow, Dmitry Eremin-Solenikov Cc: Danny Kukawka, Sergey Lapin, David S. Miller, linux-zigbee-devel, netdev, linux-kernel Two patches to remove custom .ndo_set_mac_address methodes and use eth_mac_addr() instead since these functions to the same as eth_mac_addr(). An advantage of this change: eth_mac_addr() already checks if the given mac address is valid. Danny Kukawka (2): 3com/typhoon: reuse eth_mac_addr() net/ieee802154/6lowpan.c: reuse eth_mac_addr() drivers/net/ethernet/3com/typhoon.c | 14 +------------- net/ieee802154/6lowpan.c | 16 ++-------------- 2 files changed, 3 insertions(+), 27 deletions(-) -- 1.7.8.3 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr() 2012-02-22 12:36 [PATCH 0/2] reuse eth_mac_addr() Danny Kukawka @ 2012-02-22 12:36 ` Danny Kukawka 2012-02-22 13:32 ` David Dillow 2012-02-22 19:56 ` David Miller 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 1 sibling, 2 replies; 8+ messages in thread From: Danny Kukawka @ 2012-02-22 12:36 UTC (permalink / raw) To: David Dillow; +Cc: Danny Kukawka, netdev, David S. Miller, linux-kernel Use eth_mac_addr() for .ndo_set_mac_address, remove typhoon_set_mac_address() since it do currently the same as eth_mac_addr(). Additional advantage: eth_mac_addr() already checks if the given address is valid. Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> --- drivers/net/ethernet/3com/typhoon.c | 14 +------------- 1 files changed, 1 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c index f7d622e..1234a14 100644 --- a/drivers/net/ethernet/3com/typhoon.c +++ b/drivers/net/ethernet/3com/typhoon.c @@ -966,18 +966,6 @@ typhoon_get_stats(struct net_device *dev) return stats; } -static int -typhoon_set_mac_address(struct net_device *dev, void *addr) -{ - struct sockaddr *saddr = (struct sockaddr *) addr; - - if(netif_running(dev)) - return -EBUSY; - - memcpy(dev->dev_addr, saddr->sa_data, dev->addr_len); - return 0; -} - static void typhoon_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) { @@ -2266,7 +2254,7 @@ static const struct net_device_ops typhoon_netdev_ops = { .ndo_tx_timeout = typhoon_tx_timeout, .ndo_get_stats = typhoon_get_stats, .ndo_validate_addr = eth_validate_addr, - .ndo_set_mac_address = typhoon_set_mac_address, + .ndo_set_mac_address = eth_mac_addr, .ndo_change_mtu = eth_change_mtu, }; -- 1.7.8.3 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka @ 2012-02-22 13:32 ` David Dillow 2012-02-22 19:56 ` David Miller 1 sibling, 0 replies; 8+ messages in thread From: David Dillow @ 2012-02-22 13:32 UTC (permalink / raw) To: Danny Kukawka; +Cc: Danny Kukawka, netdev, David S. Miller, linux-kernel On Wed, 2012-02-22 at 13:36 +0100, Danny Kukawka wrote: > Use eth_mac_addr() for .ndo_set_mac_address, remove > typhoon_set_mac_address() since it do currently the same as > eth_mac_addr(). Additional advantage: eth_mac_addr() already > checks if the given address is valid. > > Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Acked-by: Dave Dillow <dave@thedillows.org> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] 3com/typhoon: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka 2012-02-22 13:32 ` David Dillow @ 2012-02-22 19:56 ` David Miller 1 sibling, 0 replies; 8+ messages in thread From: David Miller @ 2012-02-22 19:56 UTC (permalink / raw) To: danny.kukawka; +Cc: dave, dkukawka, netdev, linux-kernel From: Danny Kukawka <danny.kukawka@bisect.de> Date: Wed, 22 Feb 2012 13:36:38 +0100 > Use eth_mac_addr() for .ndo_set_mac_address, remove > typhoon_set_mac_address() since it do currently the same as > eth_mac_addr(). Additional advantage: eth_mac_addr() already > checks if the given address is valid. > > Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Applied. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() 2012-02-22 12:36 [PATCH 0/2] reuse eth_mac_addr() Danny Kukawka 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka @ 2012-02-22 12:36 ` Danny Kukawka 2012-02-22 13:30 ` Dmitry Eremin-Solenikov ` (2 more replies) 1 sibling, 3 replies; 8+ messages in thread From: Danny Kukawka @ 2012-02-22 12:36 UTC (permalink / raw) To: Dmitry Eremin-Solenikov Cc: Danny Kukawka, Sergey Lapin, David S. Miller, linux-zigbee-devel, netdev, linux-kernel Use eth_mac_addr() for .ndo_set_mac_address, remove lowpan_set_address since it do currently the same as eth_mac_addr(). Additional advantage: eth_mac_addr() already checks if the given address is valid Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> --- net/ieee802154/6lowpan.c | 16 ++-------------- 1 files changed, 2 insertions(+), 14 deletions(-) diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c index e4ecc1e..3685158 100644 --- a/net/ieee802154/6lowpan.c +++ b/net/ieee802154/6lowpan.c @@ -55,6 +55,7 @@ #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/netdevice.h> +#include <linux/etherdevice.h> #include <net/af_ieee802154.h> #include <net/ieee802154.h> #include <net/ieee802154_netdev.h> @@ -924,19 +925,6 @@ drop: return -EINVAL; } -static int lowpan_set_address(struct net_device *dev, void *p) -{ - struct sockaddr *sa = p; - - if (netif_running(dev)) - return -EBUSY; - - /* TODO: validate addr */ - memcpy(dev->dev_addr, sa->sa_data, dev->addr_len); - - return 0; -} - static int lowpan_get_mac_header_length(struct sk_buff *skb) { /* @@ -1062,7 +1050,7 @@ static struct header_ops lowpan_header_ops = { static const struct net_device_ops lowpan_netdev_ops = { .ndo_start_xmit = lowpan_xmit, - .ndo_set_mac_address = lowpan_set_address, + .ndo_set_mac_address = eth_mac_addr, }; static void lowpan_setup(struct net_device *dev) -- 1.7.8.3 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka @ 2012-02-22 13:30 ` Dmitry Eremin-Solenikov 2012-02-22 19:56 ` David Miller 2012-04-27 20:21 ` [Linux-zigbee-devel] " Tony Cheneau 2 siblings, 0 replies; 8+ messages in thread From: Dmitry Eremin-Solenikov @ 2012-02-22 13:30 UTC (permalink / raw) To: Danny Kukawka Cc: Danny Kukawka, Sergey Lapin, David S. Miller, linux-zigbee-devel, netdev, linux-kernel On Wed, Feb 22, 2012 at 4:36 PM, Danny Kukawka <danny.kukawka@bisect.de> wrote: > Use eth_mac_addr() for .ndo_set_mac_address, remove > lowpan_set_address since it do currently the same as > eth_mac_addr(). Additional advantage: eth_mac_addr() already > checks if the given address is valid > > Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Acked-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 2012-02-22 13:30 ` Dmitry Eremin-Solenikov @ 2012-02-22 19:56 ` David Miller 2012-04-27 20:21 ` [Linux-zigbee-devel] " Tony Cheneau 2 siblings, 0 replies; 8+ messages in thread From: David Miller @ 2012-02-22 19:56 UTC (permalink / raw) To: danny.kukawka Cc: dbaryshkov, dkukawka, slapin, linux-zigbee-devel, netdev, linux-kernel From: Danny Kukawka <danny.kukawka@bisect.de> Date: Wed, 22 Feb 2012 13:36:39 +0100 > Use eth_mac_addr() for .ndo_set_mac_address, remove > lowpan_set_address since it do currently the same as > eth_mac_addr(). Additional advantage: eth_mac_addr() already > checks if the given address is valid > > Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> Applied. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Linux-zigbee-devel] [PATCH 2/2] net/ieee802154/6lowpan.c: reuse eth_mac_addr() 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 2012-02-22 13:30 ` Dmitry Eremin-Solenikov 2012-02-22 19:56 ` David Miller @ 2012-04-27 20:21 ` Tony Cheneau 2 siblings, 0 replies; 8+ messages in thread From: Tony Cheneau @ 2012-04-27 20:21 UTC (permalink / raw) To: Danny Kukawka Cc: Dmitry Eremin-Solenikov, netdev, Danny Kukawka, linux-kernel, linux-zigbee-devel, David S. Miller Hello, I believe the following patch should not have been applied and should now be reverted. The reason is because eth_mac_addr() is not functionally equivalent to lowpan_set_address() that it replaces: - lowpan_set_address() copies dev->addr_len bytes, where dev->addr_len is set to 8 bytes for IEEE802154 devices (this is an IEEE EUI-64 address). Hence, the function copies the full 8 bytes of the address. - eth_mac_addr() copies ETH_ALEN bytes, where ETH_ALEN is set to 6. Hence, the function copies only 6 bytes of the 8 bytes address. So, 2 bytes of the address are never copied. Does this sound reasonable? Regards, Tony Le 22.02.2012 14:36, Danny Kukawka a écrit : > Use eth_mac_addr() for .ndo_set_mac_address, remove > lowpan_set_address since it do currently the same as > eth_mac_addr(). Additional advantage: eth_mac_addr() already > checks if the given address is valid > > Signed-off-by: Danny Kukawka <danny.kukawka@bisect.de> > --- > net/ieee802154/6lowpan.c | 16 ++-------------- > 1 files changed, 2 insertions(+), 14 deletions(-) > > diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c > index e4ecc1e..3685158 100644 > --- a/net/ieee802154/6lowpan.c > +++ b/net/ieee802154/6lowpan.c > @@ -55,6 +55,7 @@ > #include <linux/module.h> > #include <linux/moduleparam.h> > #include <linux/netdevice.h> > +#include <linux/etherdevice.h> > #include <net/af_ieee802154.h> > #include <net/ieee802154.h> > #include <net/ieee802154_netdev.h> > @@ -924,19 +925,6 @@ drop: > return -EINVAL; > } > > -static int lowpan_set_address(struct net_device *dev, void *p) > -{ > - struct sockaddr *sa = p; > - > - if (netif_running(dev)) > - return -EBUSY; > - > - /* TODO: validate addr */ > - memcpy(dev->dev_addr, sa->sa_data, dev->addr_len); > - > - return 0; > -} > - > static int lowpan_get_mac_header_length(struct sk_buff *skb) > { > /* > @@ -1062,7 +1050,7 @@ static struct header_ops lowpan_header_ops = { > > static const struct net_device_ops lowpan_netdev_ops = { > .ndo_start_xmit = lowpan_xmit, > - .ndo_set_mac_address = lowpan_set_address, > + .ndo_set_mac_address = eth_mac_addr, > }; > > static void lowpan_setup(struct net_device *dev) ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-04-27 20:29 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-02-22 12:36 [PATCH 0/2] reuse eth_mac_addr() Danny Kukawka 2012-02-22 12:36 ` [PATCH 1/2] 3com/typhoon: " Danny Kukawka 2012-02-22 13:32 ` David Dillow 2012-02-22 19:56 ` David Miller 2012-02-22 12:36 ` [PATCH 2/2] net/ieee802154/6lowpan.c: " Danny Kukawka 2012-02-22 13:30 ` Dmitry Eremin-Solenikov 2012-02-22 19:56 ` David Miller 2012-04-27 20:21 ` [Linux-zigbee-devel] " Tony Cheneau
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®