On Mon, Nov 19, 2012 at 11:41 PM, Arik Nemtsov <arik@xxxxxxxxxx> wrote: > On Mon, Nov 19, 2012 at 6:39 PM, Eliad Peller <eliad@xxxxxxxxxx> wrote: >> Use the sta_state notifications to ROC when a station >> is about to connect, and CROC respectively on >> authorization (success) / deletion (failure). >> >> Change the wl12xx_update_sta_state() flow to bail out >> only on error, so multiple code blocks could refer >> to the same state. >> >> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> > [...] >> >> + /* clear ROCs on failure or authorization */ >> + if (is_sta && >> + (new_state == IEEE80211_STA_AUTHORIZED || >> + new_state == IEEE80211_STA_NOTEXIST)) { >> + if (test_bit(wlvif->role_id, wl->roc_map)) >> + wl12xx_croc(wl, wlvif->role_id); >> + } >> + >> + if (is_sta && >> + old_state == IEEE80211_STA_NOTEXIST && >> + new_state == IEEE80211_STA_NONE) { >> + if (find_first_bit(wl->roc_map, >> + WL12XX_MAX_ROLES) >= WL12XX_MAX_ROLES) { >> + WARN_ON(wlvif->role_id == WL12XX_INVALID_ROLE_ID); >> + wl12xx_roc(wl, wlvif, wlvif->role_id, wlvif->channel); >> + } >> + } > > what about AP mode? we don't have an opportunistic ROC there as well > for connecting stations? yeah, we do. but since in order to really be effective it requires supplicant changes that weren't upstreamed yet (adding non-associated station), i preferred postponing it to another patchset. on the other hand, this might help protecting the EAPOL exchange even in its current form, so i guess we can upstream it even before the supplicant changes. Eliad. -- 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