summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2006-07-16 19:10:41 +0000
committersam <sam@FreeBSD.org>2006-07-16 19:10:41 +0000
commit26117ad45024ef3c52d9da5d1c65ac7ef511e2f0 (patch)
tree4f0c6d26ae922431bbff8ebdba49aef81eb833d8 /sys/net80211
parenta8a04e1beeb3458e74091f147afa70f052762d69 (diff)
downloadFreeBSD-src-26117ad45024ef3c52d9da5d1c65ac7ef511e2f0.zip
FreeBSD-src-26117ad45024ef3c52d9da5d1c65ac7ef511e2f0.tar.gz
power save mode state changes should not require clocking the 802.11
state machine; use the reset method instead MFC after: 2 weeks
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_ioctl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c
index 4121148..5d8893b 100644
--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -2321,6 +2321,13 @@ ieee80211_ioctl_set80211(struct ieee80211com *ic, u_long cmd, struct ieee80211re
error = EINVAL;
break;
}
+ if (error == ENETRESET) {
+ /*
+ * Switching in+out of power save mode
+ * should not require a state change.
+ */
+ error = IS_UP(ic) ? ic->ic_reset(ic->ic_ifp) : 0;
+ }
break;
case IEEE80211_IOC_POWERSAVESLEEP:
if (ireq->i_val < 0)
OpenPOWER on IntegriCloud