> + if (!ext_native && key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) { > + key->flags |= KEY_FLAG_RX_SW_CRYPTO; > + /* Activate Rx crypto offload after max 10s when idle */ > + ieee80211_queue_delayed_work(&local->hw, &sta->ext_key_compat_wk, > + round_jiffies_relative(HZ * 10)); > + } Is there much point in this? > + if (unlikely(rx->key->flags & KEY_FLAG_RX_SW_CRYPTO)) { > + rx->key->flags &= ~KEY_FLAG_RX_SW_CRYPTO; > + cancel_delayed_work(&rx->sta->ext_key_compat_wk); > + ieee80211_queue_delayed_work(&rx->local->hw, > + &rx->sta->ext_key_compat_wk, 0); > + } We'll almost certainly do it from here, so never exercise the other path? johannes