summaryrefslogtreecommitdiff
path: root/net/batman-adv/main.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-04-18 14:50:38 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-18 14:50:38 -0400
commit0fecd7504614b0bc98b79e31daffec040ec4e49f (patch)
tree42739cceeb428612c0be0e78b8be54e6afd200f4 /net/batman-adv/main.c
parentea2f2fa143ead1a9bf5ce87a3abe403694fe6d78 (diff)
parentfe8a93b95145c66adf196eea4a919dfe0b7c57db (diff)
downloadlinux-0fecd7504614b0bc98b79e31daffec040ec4e49f.tar.gz
linux-0fecd7504614b0bc98b79e31daffec040ec4e49f.tar.bz2
linux-0fecd7504614b0bc98b79e31daffec040ec4e49f.zip
Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge
Included changes: - fix MAC address check in case of multiple mesh interfaces Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/batman-adv/main.c')
-rw-r--r--net/batman-adv/main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c
index 0488d70c8c35..fa563e497c48 100644
--- a/net/batman-adv/main.c
+++ b/net/batman-adv/main.c
@@ -169,7 +169,7 @@ void batadv_mesh_free(struct net_device *soft_iface)
atomic_set(&bat_priv->mesh_state, BATADV_MESH_INACTIVE);
}
-int batadv_is_my_mac(const uint8_t *addr)
+int batadv_is_my_mac(struct batadv_priv *bat_priv, const uint8_t *addr)
{
const struct batadv_hard_iface *hard_iface;
@@ -178,6 +178,9 @@ int batadv_is_my_mac(const uint8_t *addr)
if (hard_iface->if_status != BATADV_IF_ACTIVE)
continue;
+ if (hard_iface->soft_iface != bat_priv->soft_iface)
+ continue;
+
if (batadv_compare_eth(hard_iface->net_dev->dev_addr, addr)) {
rcu_read_unlock();
return 1;