aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev_addr_lists.c
diff options
context:
space:
mode:
authorPawit Pornkitprasan <p.pawit@gmail.com>2012-12-05 23:06:13 +0700
committerPawit Pornkitprasan <p.pawit@gmail.com>2012-12-05 23:07:13 +0700
commitadbff11f9517c5296e452a1034d05864cf3dbfb3 (patch)
treeebe89558e8db50e70c91f316c0f322216f307be7 /net/core/dev_addr_lists.c
parent15ced1fb4a207c2e99ea007ce447d9b5cd676435 (diff)
parent7cd2d7c8aa6c52fbb7c846ab785ef752dd923116 (diff)
downloadkernel_samsung_aries-adbff11f9517c5296e452a1034d05864cf3dbfb3.zip
kernel_samsung_aries-adbff11f9517c5296e452a1034d05864cf3dbfb3.tar.gz
kernel_samsung_aries-adbff11f9517c5296e452a1034d05864cf3dbfb3.tar.bz2
Merge 3.0.54
Change-Id: I68316b1f2af49f27e3462384592d3bba217302b6
Diffstat (limited to 'net/core/dev_addr_lists.c')
-rw-r--r--net/core/dev_addr_lists.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/dev_addr_lists.c b/net/core/dev_addr_lists.c
index e2e6693..c776af5 100644
--- a/net/core/dev_addr_lists.c
+++ b/net/core/dev_addr_lists.c
@@ -307,7 +307,8 @@ int dev_addr_del(struct net_device *dev, unsigned char *addr,
*/
ha = list_first_entry(&dev->dev_addrs.list,
struct netdev_hw_addr, list);
- if (ha->addr == dev->dev_addr && ha->refcount == 1)
+ if (!memcmp(ha->addr, addr, dev->addr_len) &&
+ ha->type == addr_type && ha->refcount == 1)
return -ENOENT;
err = __hw_addr_del(&dev->dev_addrs, addr, dev->addr_len,