Download raw body.
sys/qwz: shutdown firmware after autoconf
On Tue, Jun 02, 2026 at 05:53:35AM +0200, Marcus Glocker wrote:
> I am also chasing why upon boot my 5GHz AP always works, while my 2.4GHz
> AP only intermittently works. In the most cases I can associate to it,
> but I won't get an IP assigned. In a few cases I will, and then also
> traffic is flowing. I am also playing around with reverting the RX QoS
> path which we have recently introduced. It seems to increase the
> chances that my 2.4GHz AP will work, but it still not reliable.
>
> The entire situation is a bit puzzling to me currently ...
If the interface gets into RUN state, but the WPA2 4-way handshake is not
starting then try unmasking data interrupts in software earlier.
(I've already sent the changes below as part of my qwx roaming fix.)
M sys/dev/ic/qwx.c | 1+ 10-
1 file changed, 1 insertion(+), 10 deletions(-)
commit - ca362689551c3ca46673929394339d3a1d8b4983
commit + c40dfed62a8443b2b6040ddb698e55d7d5474256
blob - e10ad8ce38428ef4a0dd316e271561c1b91c5f7d
blob + fb167f3d16df524472c0cf9dabeafce6fc8ec0eb
--- sys/dev/ic/qwx.c
+++ sys/dev/ic/qwx.c
@@ -323,6 +323,7 @@ qwx_init(struct ifnet *ifp)
return error;
ifp->if_flags |= IFF_RUNNING;
+ sc->ops.irq_enable(sc);
ieee80211_begin_scan(ifp);
}
@@ -20926,7 +20927,6 @@ qwx_core_qmi_firmware_ready(struct qwx_softc *sc)
goto err_core_stop;
}
- sc->ops.irq_enable(sc);
#if 0
mutex_unlock(&ab->core_lock);
#endif
@@ -27013,13 +27013,6 @@ qwx_assoc(struct qwx_softc *sc)
IEEE80211_ADDR_COPY(arvif->bssid, ni->ni_bssid);
sc->bss_peer_id = nq->peer_id;
- /*
- * Enable reception of data frames now, if not already enabled.
- * We may need to receive EAPOL data frames very soon after the
- * AP sends a response to our assoc request.
- */
- sc->ops.irq_enable(sc);
-
return 0;
}
@@ -27112,8 +27105,6 @@ qwx_run_stop(struct qwx_softc *sc)
struct qwx_node *nq = (void *)ni;
int ret;
- sc->ops.irq_disable(sc);
-
ret = qwx_wmi_set_peer_param(sc, ni->ni_macaddr, arvif->vdev_id,
pdev_id, WMI_PEER_AUTHORIZE, 0);
if (ret) {
sys/qwz: shutdown firmware after autoconf