diff options
author | 2017-08-13 15:04:47 +0000 | |
---|---|---|
committer | 2017-08-13 15:04:47 +0000 | |
commit | 9ae6b9a25954c58fcf64adfd307196c0f15b62a4 (patch) | |
tree | 5642b95e8fd26e445b53debfc1f2d8a1f1eece93 | |
parent | When iwm_stop() releases the scan lock wake processes sleeping on it. (diff) | |
download | wireguard-openbsd-9ae6b9a25954c58fcf64adfd307196c0f15b62a4.tar.xz wireguard-openbsd-9ae6b9a25954c58fcf64adfd307196c0f15b62a4.zip |
When iwn_stop() releases the scan lock wake processes sleeping on it.
Fixes ifconfig scan hanging after resume if system suspended during a scan.
ok stsp
-rw-r--r-- | sys/dev/pci/if_iwn.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/pci/if_iwn.c b/sys/dev/pci/if_iwn.c index 7cb8932b6ec..3db2dab5b7a 100644 --- a/sys/dev/pci/if_iwn.c +++ b/sys/dev/pci/if_iwn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_iwn.c,v 1.190 2017/06/02 11:18:16 stsp Exp $ */ +/* $OpenBSD: if_iwn.c,v 1.191 2017/08/13 15:04:47 tb Exp $ */ /*- * Copyright (c) 2007-2010 Damien Bergamini <damien.bergamini@free.fr> @@ -6510,6 +6510,8 @@ iwn_stop(struct ifnet *ifp, int disable) ifq_clr_oactive(&ifp->if_snd); /* In case we were scanning, release the scan "lock". */ + if (ic->ic_scan_lock & IEEE80211_SCAN_REQUEST) + wakeup(&ic->ic_scan_lock); ic->ic_scan_lock = IEEE80211_SCAN_UNLOCKED; ieee80211_new_state(ic, IEEE80211_S_INIT, -1); |