Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux...
[cascardo/linux.git] / net / wireless / core.c
index 79772fc..e9a5f8c 100644 (file)
@@ -789,13 +789,23 @@ static int cfg80211_netdev_notifier_call(struct notifier_block * nb,
                        cfg80211_mgd_wext_connect(rdev, wdev);
                        break;
 #endif
+#ifdef CONFIG_MAC80211_MESH
                case NL80211_IFTYPE_MESH_POINT:
-                       /* backward compat code ... */
-                       if (wdev->mesh_id_up_len)
-                               __cfg80211_join_mesh(rdev, dev, wdev->ssid,
-                                                    wdev->mesh_id_up_len,
-                                                    &default_mesh_config);
-                       break;
+                       {
+                               /* backward compat code... */
+                               struct mesh_setup setup;
+                               memcpy(&setup, &default_mesh_setup,
+                                               sizeof(setup));
+                                /* back compat only needed for mesh_id */
+                               setup.mesh_id = wdev->ssid;
+                               setup.mesh_id_len = wdev->mesh_id_up_len;
+                               if (wdev->mesh_id_up_len)
+                                       __cfg80211_join_mesh(rdev, dev,
+                                                       &setup,
+                                                       &default_mesh_config);
+                               break;
+                       }
+#endif
                default:
                        break;
                }