> > > @@ -498,8 +541,12 @@ void ieee80211_enable_keys(struct ieee80211_sub_if_data *sdata) > > > > > > mutex_lock(&sdata->local->key_mtx); > > > > > > - list_for_each_entry(key, &sdata->key_list, list) > > > + sdata->local->crypto_tx_tailroom_needed_cnt = 0; > > > + > > > > That doesn't seem right either -- only if you have a single sdata that > > will work, I think? > Right. For multiple sdata count will be over written to 0. > > I think, following should fix this > > Thanks > Yogesh > > diff --git a/net/mac80211/key.c b/net/mac80211/key.c > index edf9f40..0bf450d 100644 > --- a/net/mac80211/key.c > +++ b/net/mac80211/key.c > @@ -541,8 +541,6 @@ void ieee80211_enable_keys(struct ieee80211_sub_if_data *sdata) > > mutex_lock(&sdata->local->key_mtx); > > - sdata->local->crypto_tx_tailroom_needed_cnt = 0; > - > list_for_each_entry(key, &sdata->key_list, list) { > increment_tailroom_need_count(sdata->local); > ieee80211_key_enable_hw_accel(key); > diff --git a/net/mac80211/util.c b/net/mac80211/util.c > index 05e3fb8..bef3bdd 100644 > --- a/net/mac80211/util.c > +++ b/net/mac80211/util.c > @@ -1271,6 +1271,9 @@ int ieee80211_reconfig(struct ieee80211_local *local) > mutex_unlock(&local->sta_mtx); > } > > + /* Reset tailroom skip count */ > + local->crypto_tx_tailroom_needed_cnt = 0; > + > /* add back keys */ > list_for_each_entry(sdata, &local->interfaces, list) > if (ieee80211_sdata_running(sdata)) > > Above logic will not work if one the sdatas fails to enable keys may be because of sdata not running. Will work on some other logic. Thanks Yogesh -- 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