From owner-svn-src-all@FreeBSD.ORG Sun Jun 17 03:08:34 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DAE61106566B; Sun, 17 Jun 2012 03:08:34 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AD2168FC08; Sun, 17 Jun 2012 03:08:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q5H38Y1j081014; Sun, 17 Jun 2012 03:08:34 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q5H38Ynh081012; Sun, 17 Jun 2012 03:08:34 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201206170308.q5H38Ynh081012@svn.freebsd.org> From: Adrian Chadd Date: Sun, 17 Jun 2012 03:08:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r237179 - head/sys/dev/ath X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jun 2012 03:08:34 -0000 Author: adrian Date: Sun Jun 17 03:08:33 2012 New Revision: 237179 URL: http://svn.freebsd.org/changeset/base/237179 Log: After some discussion with bschmidt@, it's likely better to just go through ieee80211_suspend_all() and ieee80211_resume_all(). All the other wireless drivers are doing that particular dance. PR: kern/169084 Modified: head/sys/dev/ath/if_ath.c Modified: head/sys/dev/ath/if_ath.c ============================================================================== --- head/sys/dev/ath/if_ath.c Sun Jun 17 02:46:27 2012 (r237178) +++ head/sys/dev/ath/if_ath.c Sun Jun 17 03:08:33 2012 (r237179) @@ -1309,15 +1309,8 @@ ath_suspend(struct ath_softc *sc) __func__, ifp->if_flags); sc->sc_resume_up = (ifp->if_flags & IFF_UP) != 0; - if (ic->ic_opmode == IEEE80211_M_STA) - /* - * This has been disabled - see PR kern/169084. - */ -#if 0 - ath_stop(ifp); - else -#endif - ieee80211_suspend_all(ic); + + ieee80211_suspend_all(ic); /* * NB: don't worry about putting the chip in low power * mode; pci will power off our socket on suspend and @@ -1383,34 +1376,8 @@ ath_resume(struct ath_softc *sc) ath_led_config(sc); ath_hal_setledstate(ah, HAL_LED_INIT); - if (sc->sc_resume_up) { - /* - * This particular feature doesn't work at the present, - * at least on the 802.11n chips. It's quite possible - * that the STA Beacon timers aren't being configured - * properly. - * - * See PR kern/169084. - */ -#if 0 - if (ic->ic_opmode == IEEE80211_M_STA) { - ath_init(sc); - ath_hal_setledstate(ah, HAL_LED_RUN); - /* - * Program the beacon registers using the last rx'd - * beacon frame and enable sync on the next beacon - * we see. This should handle the case where we - * wakeup and find the same AP and also the case where - * we wakeup and need to roam. For the latter we - * should get bmiss events that trigger a roam. - */ - ath_beacon_config(sc, NULL); - sc->sc_syncbeacon = 1; - ieee80211_resume_all(ic); - } else -#endif - ieee80211_resume_all(ic); - } + if (sc->sc_resume_up) + ieee80211_resume_all(ic); /* XXX beacons ? */ }