diff options
Diffstat (limited to 'net/mac80211/mesh_pathtbl.c')
| -rw-r--r-- | net/mac80211/mesh_pathtbl.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 0192cfdacae4..349e466cf08b 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | #include <linux/etherdevice.h> | 10 | #include <linux/etherdevice.h> |
| 11 | #include <linux/list.h> | 11 | #include <linux/list.h> |
| 12 | #include <linux/random.h> | 12 | #include <linux/random.h> |
| 13 | #include <linux/slab.h> | ||
| 13 | #include <linux/spinlock.h> | 14 | #include <linux/spinlock.h> |
| 14 | #include <linux/string.h> | 15 | #include <linux/string.h> |
| 15 | #include <net/mac80211.h> | 16 | #include <net/mac80211.h> |
| @@ -260,7 +261,7 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata) | |||
| 260 | int err = 0; | 261 | int err = 0; |
| 261 | u32 hash_idx; | 262 | u32 hash_idx; |
| 262 | 263 | ||
| 263 | if (memcmp(dst, sdata->dev->dev_addr, ETH_ALEN) == 0) | 264 | if (memcmp(dst, sdata->vif.addr, ETH_ALEN) == 0) |
| 264 | /* never add ourselves as neighbours */ | 265 | /* never add ourselves as neighbours */ |
| 265 | return -ENOTSUPP; | 266 | return -ENOTSUPP; |
| 266 | 267 | ||
| @@ -314,7 +315,7 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata) | |||
| 314 | read_unlock(&pathtbl_resize_lock); | 315 | read_unlock(&pathtbl_resize_lock); |
| 315 | if (grow) { | 316 | if (grow) { |
| 316 | set_bit(MESH_WORK_GROW_MPATH_TABLE, &ifmsh->wrkq_flags); | 317 | set_bit(MESH_WORK_GROW_MPATH_TABLE, &ifmsh->wrkq_flags); |
| 317 | ieee80211_queue_work(&local->hw, &ifmsh->work); | 318 | ieee80211_queue_work(&local->hw, &sdata->work); |
| 318 | } | 319 | } |
| 319 | return 0; | 320 | return 0; |
| 320 | 321 | ||
| @@ -377,7 +378,7 @@ int mpp_path_add(u8 *dst, u8 *mpp, struct ieee80211_sub_if_data *sdata) | |||
| 377 | int err = 0; | 378 | int err = 0; |
| 378 | u32 hash_idx; | 379 | u32 hash_idx; |
| 379 | 380 | ||
| 380 | if (memcmp(dst, sdata->dev->dev_addr, ETH_ALEN) == 0) | 381 | if (memcmp(dst, sdata->vif.addr, ETH_ALEN) == 0) |
| 381 | /* never add ourselves as neighbours */ | 382 | /* never add ourselves as neighbours */ |
| 382 | return -ENOTSUPP; | 383 | return -ENOTSUPP; |
| 383 | 384 | ||
| @@ -424,7 +425,7 @@ int mpp_path_add(u8 *dst, u8 *mpp, struct ieee80211_sub_if_data *sdata) | |||
| 424 | read_unlock(&pathtbl_resize_lock); | 425 | read_unlock(&pathtbl_resize_lock); |
| 425 | if (grow) { | 426 | if (grow) { |
| 426 | set_bit(MESH_WORK_GROW_MPP_TABLE, &ifmsh->wrkq_flags); | 427 | set_bit(MESH_WORK_GROW_MPP_TABLE, &ifmsh->wrkq_flags); |
| 427 | ieee80211_queue_work(&local->hw, &ifmsh->work); | 428 | ieee80211_queue_work(&local->hw, &sdata->work); |
| 428 | } | 429 | } |
| 429 | return 0; | 430 | return 0; |
| 430 | 431 | ||
| @@ -605,7 +606,7 @@ void mesh_path_discard_frame(struct sk_buff *skb, | |||
| 605 | struct mesh_path *mpath; | 606 | struct mesh_path *mpath; |
| 606 | u32 sn = 0; | 607 | u32 sn = 0; |
| 607 | 608 | ||
| 608 | if (memcmp(hdr->addr4, sdata->dev->dev_addr, ETH_ALEN) != 0) { | 609 | if (memcmp(hdr->addr4, sdata->vif.addr, ETH_ALEN) != 0) { |
| 609 | u8 *ra, *da; | 610 | u8 *ra, *da; |
| 610 | 611 | ||
| 611 | da = hdr->addr3; | 612 | da = hdr->addr3; |
