diff options
Diffstat (limited to 'net/wireless/core.c')
-rw-r--r-- | net/wireless/core.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index 79772fcc37bc..e9a5f8ca4c27 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c | |||
@@ -789,13 +789,23 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb, | |||
789 | cfg80211_mgd_wext_connect(rdev, wdev); | 789 | cfg80211_mgd_wext_connect(rdev, wdev); |
790 | break; | 790 | break; |
791 | #endif | 791 | #endif |
792 | #ifdef CONFIG_MAC80211_MESH | ||
792 | case NL80211_IFTYPE_MESH_POINT: | 793 | case NL80211_IFTYPE_MESH_POINT: |
793 | /* backward compat code ... */ | 794 | { |
794 | if (wdev->mesh_id_up_len) | 795 | /* backward compat code... */ |
795 | __cfg80211_join_mesh(rdev, dev, wdev->ssid, | 796 | struct mesh_setup setup; |
796 | wdev->mesh_id_up_len, | 797 | memcpy(&setup, &default_mesh_setup, |
797 | &default_mesh_config); | 798 | sizeof(setup)); |
798 | break; | 799 | /* back compat only needed for mesh_id */ |
800 | setup.mesh_id = wdev->ssid; | ||
801 | setup.mesh_id_len = wdev->mesh_id_up_len; | ||
802 | if (wdev->mesh_id_up_len) | ||
803 | __cfg80211_join_mesh(rdev, dev, | ||
804 | &setup, | ||
805 | &default_mesh_config); | ||
806 | break; | ||
807 | } | ||
808 | #endif | ||
799 | default: | 809 | default: |
800 | break; | 810 | break; |
801 | } | 811 | } |