summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorJoshua Stein <jcs@cvs.openbsd.org>2020-12-17 15:37:10 +0000
committerJoshua Stein <jcs@cvs.openbsd.org>2020-12-17 15:37:10 +0000
commitdcc902adb92f89ac210751feb08b0688933664cf (patch)
tree9ec55aa18a587b91e7ba3a687fee74ea6e723e4a /sys/dev/ic
parentac09d2e454d7f9f098426927b37d63cef5c5f014 (diff)
bwfm: add a delay in bwfm_set_key_cb before talking to hardware
This works around an issue on the BCM43602 where ieee80211 calls this too quickly during authentication and triggers "unexpected pairwise key update" errors. ok patrick
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/bwfm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ic/bwfm.c b/sys/dev/ic/bwfm.c
index af901a4330a..7b798d47184 100644
--- a/sys/dev/ic/bwfm.c
+++ b/sys/dev/ic/bwfm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bwfm.c,v 1.78 2020/12/02 17:06:35 krw Exp $ */
+/* $OpenBSD: bwfm.c,v 1.79 2020/12/17 15:37:09 jcs Exp $ */
/*
* Copyright (c) 2010-2016 Broadcom Corporation
* Copyright (c) 2016,2017 Patrick Wildt <patrick@blueri.se>
@@ -2662,6 +2662,8 @@ bwfm_set_key_cb(struct bwfm_softc *sc, void *arg)
return;
}
+ delay(100);
+
bwfm_fwvar_var_set_data(sc, "wsec_key", &key, sizeof(key));
bwfm_fwvar_var_get_int(sc, "wsec", &wsec);
wsec |= wsec_enable;