From: Johannes Berg [mailto:johannes@xxxxxxxxxxxxxxxx] Sent: Tuesday, January 27, 2015 1:01 PM > On Tue, 2015-01-27 at 12:50 +0200, Dedy Lansky wrote: > > > > > @@ -896,6 +949,7 @@ cfg80211_inform_bss_width(struct wiphy *wiphy, > > > > struct cfg80211_bss_ies *ies; > > > > struct ieee80211_channel *channel; > > > > struct cfg80211_internal_bss tmp = {}, *res; > > > > + int bss_type; > > > > > > enum. > > > > > > Except that you actually forgot to store the BSS type ... > > > > > > Actually - you didn't add it to the bss struct, but to wdev? Why is it needed there?? I don't see you using it? > > > > wdev->bss_type refers to the BSS that we are connecting/connected to (Maybe rename to "conn_bss_type"?). > > This member is used in sme.c. It was introduced because once the connect is complete and driver calls cfg80211_connect_result(), cfg needs to find the BSS being connected to. > > Ok I was thinking you were adding it to struct cfg80211_bss. Wouldn't that make a bit more sense? Of course it can also be derived from cfg80211_bss::channel and cfg80211_bss::capability, your call. > > However, it doesn't seem that you need it in wdev if you have it there inside wdev->current_bss? current_bss is set later. inside __cfg80211_connect_result(), we look for the BSS being connected to: bss = cfg80211_get_bss(..., bssid, wdev->bss_type, ...) only after that, current_bss is set to this BSS: wdev->current_bss = bss_from_pub(bss); > > 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