> + 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