On Fri, 2014-05-30 at 18:56 +0200, Rostislav Lisovy wrote: > Add new OCB mode (outside the context of the BSS) interface > type as well as functions necessary to configure the interface > when 'joining' such network. I think you also want some API to leave (stop operating in) the network again, and call that appropriately (e.g. on ifdown) and allow userspace to call it. > +struct ocb_setup { > + struct cfg80211_chan_def chandef; > + u32 basic_rates; > +}; The channel seems obvious - but basic rates? Wouldn't OCB always just use a single rate, basically? Certainly not *basic* rates (which are required to be implemented for joining the BSS) since there is no BSS? > + if (!setup->chandef.chan) > + WARN_ON(!setup->chandef.chan); That makes very little sense to me? > @@ -892,6 +893,7 @@ cfg80211_get_chan_state(struct wireless_dev *wdev, > *radar_detect |= > BIT(wdev->chandef.width); > } > return; > + case NL80211_IFTYPE_OCB: > case NL80211_IFTYPE_MONITOR: > case NL80211_IFTYPE_AP_VLAN: > case NL80211_IFTYPE_WDS: That certainly doesn't seem correct, in particular if you consider the comment that's two lines down. case NL80211_IFTYPE_P2P_DEVICE: /* these interface types don't really have a channel */ It seems for OCB you need some indication that it's joined (maybe the channel being non-NULL could do?) and then treat it here correctly has having an exclusive lock on the channel. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html