mac80211: don't remove tainted keys after not programming
When a key is tainted during resume, it is no longer programmed into the device; however, it's uploaded flag may (will) be set. Clear the flag when not programming it because it's tainted to avoid attempting to remove it again later. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
02219b3abc
commit
4619194a49
|
@ -94,8 +94,17 @@ static int ieee80211_key_enable_hw_accel(struct ieee80211_key *key)
|
|||
|
||||
might_sleep();
|
||||
|
||||
if (key->flags & KEY_FLAG_TAINTED)
|
||||
if (key->flags & KEY_FLAG_TAINTED) {
|
||||
/* If we get here, it's during resume and the key is
|
||||
* tainted so shouldn't be used/programmed any more.
|
||||
* However, its flags may still indicate that it was
|
||||
* programmed into the device (since we're in resume)
|
||||
* so clear that flag now to avoid trying to remove
|
||||
* it again later.
|
||||
*/
|
||||
key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE;
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!key->local->ops->set_key)
|
||||
goto out_unsupported;
|
||||
|
|
Loading…
Reference in New Issue
Block a user