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();
|
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;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
if (!key->local->ops->set_key)
|
if (!key->local->ops->set_key)
|
||||||
goto out_unsupported;
|
goto out_unsupported;
|
||||||
|
Loading…
Reference in New Issue
Block a user