summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_iwi.c
diff options
context:
space:
mode:
authorStefan Sperling <stsp@cvs.openbsd.org>2017-03-29 16:42:26 +0000
committerStefan Sperling <stsp@cvs.openbsd.org>2017-03-29 16:42:26 +0000
commit46bcf68182f4de7afe1aec8e0d2eb313da0c721e (patch)
tree72e73a706eb48d6ae86674138422008208f58074 /sys/dev/pci/if_iwi.c
parent323a8de9f4386529215ee5ab8da4f36335f4be33 (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.c6
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 :