Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jun 2012 03:08:34 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r237179 - head/sys/dev/ath
Message-ID:  <201206170308.q5H38Ynh081012@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 ? */
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206170308.q5H38Ynh081012>