Avoid trying to remove keys if the station is not active in iwx firmware.
authorstsp <stsp@openbsd.org>
Mon, 6 Mar 2023 11:33:57 +0000 (11:33 +0000)
committerstsp <stsp@openbsd.org>
Mon, 6 Mar 2023 11:33:57 +0000 (11:33 +0000)
Fixes a firmware panic I encountered while working on firmware upgrades.

sys/dev/pci/if_iwx.c

index b0f2176..b1d8498 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_iwx.c,v 1.166 2023/03/06 11:30:46 stsp Exp $       */
+/*     $OpenBSD: if_iwx.c,v 1.167 2023/03/06 11:33:57 stsp Exp $       */
 
 /*
  * Copyright (c) 2014, 2016 genua gmbh <info@genua.de>
@@ -8577,6 +8577,9 @@ iwx_delete_key(struct ieee80211com *ic, struct ieee80211_node *ni,
        struct iwx_softc *sc = ic->ic_softc;
        struct iwx_add_sta_key_cmd cmd;
 
+       if ((sc->sc_flags & IWX_FLAG_STA_ACTIVE) == 0)
+               return;
+
        if (k->k_cipher != IEEE80211_CIPHER_CCMP) {
                /* Fallback to software crypto for other ciphers. */
                 ieee80211_delete_key(ic, ni, k);