Revert "mac80211: Skip tailroom reservation for full HW-crypto devices"
This reverts commit aac6af5534
.
Conflicts:
net/mac80211/key.c
That commit has a race that causes a warning, as documented in the thread
here:
http://marc.info/?l=linux-wireless&m=130717684914101&w=2
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
@ -101,11 +101,6 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
|
||||
|
||||
if (!ret) {
|
||||
key->flags |= KEY_FLAG_UPLOADED_TO_HARDWARE;
|
||||
|
||||
if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) ||
|
||||
(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)))
|
||||
key->local->crypto_tx_tailroom_needed_cnt--;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -161,10 +156,6 @@ static void ieee80211_key_disable_hw_accel(struct ieee80211_key *key)
|
||||
key->conf.keyidx, sta ? sta->addr : bcast_addr, ret);
|
||||
|
||||
key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE;
|
||||
|
||||
if (!((key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) ||
|
||||
(key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV)))
|
||||
key->local->crypto_tx_tailroom_needed_cnt++;
|
||||
}
|
||||
|
||||
void ieee80211_key_removed(struct ieee80211_key_conf *key_conf)
|
||||
@ -403,10 +394,8 @@ static void __ieee80211_key_destroy(struct ieee80211_key *key)
|
||||
ieee80211_aes_key_free(key->u.ccmp.tfm);
|
||||
if (key->conf.cipher == WLAN_CIPHER_SUITE_AES_CMAC)
|
||||
ieee80211_aes_cmac_key_free(key->u.aes_cmac.tfm);
|
||||
if (key->local) {
|
||||
if (key->local)
|
||||
ieee80211_debugfs_key_remove(key);
|
||||
key->local->crypto_tx_tailroom_needed_cnt--;
|
||||
}
|
||||
|
||||
kfree(key);
|
||||
}
|
||||
@ -468,8 +457,6 @@ int ieee80211_key_link(struct ieee80211_key *key,
|
||||
|
||||
ieee80211_debugfs_key_add(key);
|
||||
|
||||
key->local->crypto_tx_tailroom_needed_cnt++;
|
||||
|
||||
ret = ieee80211_key_enable_hw_accel(key);
|
||||
|
||||
mutex_unlock(&sdata->local->key_mtx);
|
||||
@ -511,12 +498,8 @@ 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) {
|
||||
sdata->local->crypto_tx_tailroom_needed_cnt++;
|
||||
list_for_each_entry(key, &sdata->key_list, list)
|
||||
ieee80211_key_enable_hw_accel(key);
|
||||
}
|
||||
|
||||
mutex_unlock(&sdata->local->key_mtx);
|
||||
}
|
||||
|
Reference in New Issue
Block a user