diff options
| author | David S. Miller <davem@davemloft.net> | 2013-04-18 14:50:38 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2013-04-18 14:50:38 -0400 |
| commit | 0fecd7504614b0bc98b79e31daffec040ec4e49f (patch) | |
| tree | 42739cceeb428612c0be0e78b8be54e6afd200f4 /net/batman-adv/main.c | |
| parent | ea2f2fa143ead1a9bf5ce87a3abe403694fe6d78 (diff) | |
| parent | fe8a93b95145c66adf196eea4a919dfe0b7c57db (diff) | |
| download | linux-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.c | 5 |
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; |
