diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-05-16 17:50:20 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-06-05 15:32:18 -0400 |
commit | cc1d2806bf06ab92268343d26eb3d8d8f00f8bc9 (patch) | |
tree | b14ffa920d616470715e715df49f990bfdcf12ae /net/wireless/core.h | |
parent | 685d12a1929f274bd91497e33b4255fe164ac8ec (diff) |
cfg80211: provide channel to join_mesh function
Just like the AP mode patch, instead of setting
the channel and then joining the mesh network,
provide the channel to join the network on to
the join_mesh() function.
Like in AP mode, you can also give the channel
to the join-mesh nl80211 command now.
Unlike AP mode, it picks a default channel if
none was given.
As libertas uses mesh mode interfaces but has
no join_mesh callback and we can't simply break
it, keep some compatibility code for that case
and configure the channel directly for it.
In the non-libertas case, where we store the
channel until join, allow setting it while the
interface is down.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/core.h')
-rw-r--r-- | net/wireless/core.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/net/wireless/core.h b/net/wireless/core.h index 8523f3878677..1d3d24126946 100644 --- a/net/wireless/core.h +++ b/net/wireless/core.h | |||
@@ -303,14 +303,17 @@ extern const struct mesh_config default_mesh_config; | |||
303 | extern const struct mesh_setup default_mesh_setup; | 303 | extern const struct mesh_setup default_mesh_setup; |
304 | int __cfg80211_join_mesh(struct cfg80211_registered_device *rdev, | 304 | int __cfg80211_join_mesh(struct cfg80211_registered_device *rdev, |
305 | struct net_device *dev, | 305 | struct net_device *dev, |
306 | const struct mesh_setup *setup, | 306 | struct mesh_setup *setup, |
307 | const struct mesh_config *conf); | 307 | const struct mesh_config *conf); |
308 | int cfg80211_join_mesh(struct cfg80211_registered_device *rdev, | 308 | int cfg80211_join_mesh(struct cfg80211_registered_device *rdev, |
309 | struct net_device *dev, | 309 | struct net_device *dev, |
310 | const struct mesh_setup *setup, | 310 | struct mesh_setup *setup, |
311 | const struct mesh_config *conf); | 311 | const struct mesh_config *conf); |
312 | int cfg80211_leave_mesh(struct cfg80211_registered_device *rdev, | 312 | int cfg80211_leave_mesh(struct cfg80211_registered_device *rdev, |
313 | struct net_device *dev); | 313 | struct net_device *dev); |
314 | int cfg80211_set_mesh_freq(struct cfg80211_registered_device *rdev, | ||
315 | struct wireless_dev *wdev, int freq, | ||
316 | enum nl80211_channel_type channel_type); | ||
314 | 317 | ||
315 | /* MLME */ | 318 | /* MLME */ |
316 | int __cfg80211_mlme_auth(struct cfg80211_registered_device *rdev, | 319 | int __cfg80211_mlme_auth(struct cfg80211_registered_device *rdev, |