diff options
author | Stefan Sperling <stsp@cvs.openbsd.org> | 2017-03-29 16:42:26 +0000 |
---|---|---|
committer | Stefan Sperling <stsp@cvs.openbsd.org> | 2017-03-29 16:42:26 +0000 |
commit | 46bcf68182f4de7afe1aec8e0d2eb313da0c721e (patch) | |
tree | 72e73a706eb48d6ae86674138422008208f58074 /sys/dev/pci/if_iwi.c | |
parent | 323a8de9f4386529215ee5ab8da4f36335f4be33 (diff) |
Fix iwi(4) regressions. WPA was broken since 6.0 errata 018.
Also, the firmware was rejecting RTS frames so iwi(4) didn't work against
an OpenBSD athn(4) hostap anymore; fix the config sent to firmware.
Prompted by report from bg2200 at jamesjerkinscomputer on misc@
ok deraadt@
Diffstat (limited to 'sys/dev/pci/if_iwi.c')
-rw-r--r-- | sys/dev/pci/if_iwi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/if_iwi.c b/sys/dev/pci/if_iwi.c index faa9e4246ad..2377853bc80 100644 --- a/sys/dev/pci/if_iwi.c +++ b/sys/dev/pci/if_iwi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwi.c,v 1.135 2017/03/08 12:02:41 mpi Exp $ */ +/* $OpenBSD: if_iwi.c,v 1.136 2017/03/29 16:42:25 stsp Exp $ */ /*- * Copyright (c) 2004-2008 @@ -965,6 +965,7 @@ iwi_notification_intr(struct iwi_softc *sc, struct iwi_rx_data *data, struct iwi_notif *notif) { struct ieee80211com *ic = &sc->sc_ic; + struct ieee80211_node *ni = ic->ic_bss; struct ifnet *ifp = &ic->ic_if; switch (notif->type) { @@ -1028,6 +1029,8 @@ iwi_notification_intr(struct iwi_softc *sc, struct iwi_rx_data *data, break; case IWI_ASSOCIATED: + if (ic->ic_flags & IEEE80211_F_RSNON) + ni->ni_rsn_supp_state = RSNA_SUPP_PTKSTART; ieee80211_new_state(ic, IEEE80211_S_RUN, -1); break; @@ -2038,6 +2041,7 @@ iwi_auth_and_assoc(struct iwi_softc *sc) config.disable_multicast_decryption = 1; config.silence_threshold = 30; config.report_noise = 1; + config.allow_mgt = 1; config.answer_pbreq = #ifndef IEEE80211_STA_ONLY (ic->ic_opmode == IEEE80211_M_IBSS) ? 1 : |