Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Feb 2012 03:30:14 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/165220: commit references a PR
Message-ID:  <201202170330.q1H3UEd3039520@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/165220; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/165220: commit references a PR
Date: Fri, 17 Feb 2012 03:23:16 +0000 (UTC)

 Author: adrian
 Date: Fri Feb 17 03:23:01 2012
 New Revision: 231854
 URL: http://svn.freebsd.org/changeset/base/231854
 
 Log:
   Begin breaking out the txrx stop code into a locked and unlocked variant.
   
   PR:	kern/165220
 
 Modified:
   head/sys/dev/ath/if_ath.c
 
 Modified: head/sys/dev/ath/if_ath.c
 ==============================================================================
 --- head/sys/dev/ath/if_ath.c	Fri Feb 17 03:01:29 2012	(r231853)
 +++ head/sys/dev/ath/if_ath.c	Fri Feb 17 03:23:01 2012	(r231854)
 @@ -1903,15 +1903,16 @@ ath_stop_locked(struct ifnet *ifp)
  
  #define	MAX_TXRX_ITERATIONS	1000
  static void
 -ath_txrx_stop(struct ath_softc *sc)
 +ath_txrx_stop_locked(struct ath_softc *sc)
  {
  	int i = MAX_TXRX_ITERATIONS;
  
  	ATH_UNLOCK_ASSERT(sc);
 +	ATH_PCU_LOCK_ASSERT(sc);
 +
  	/* Stop any new TX/RX from occuring */
  	taskqueue_block(sc->sc_tq);
  
 -	ATH_PCU_LOCK(sc);
  	/*
  	 * Sleep until all the pending operations have completed.
  	 *
 @@ -1925,7 +1926,6 @@ ath_txrx_stop(struct ath_softc *sc)
  		msleep(sc, &sc->sc_pcu_mtx, 0, "ath_txrx_stop", 1);
  		i--;
  	}
 -	ATH_PCU_UNLOCK(sc);
  
  	if (i <= 0)
  		device_printf(sc->sc_dev,
 @@ -1935,6 +1935,17 @@ ath_txrx_stop(struct ath_softc *sc)
  #undef	MAX_TXRX_ITERATIONS
  
  static void
 +ath_txrx_stop(struct ath_softc *sc)
 +{
 +	ATH_UNLOCK_ASSERT(sc);
 +	ATH_PCU_UNLOCK_ASSERT(sc);
 +
 +	ATH_PCU_LOCK(sc);
 +	ath_txrx_stop_locked(sc);
 +	ATH_PCU_UNLOCK(sc);
 +}
 +
 +static void
  ath_txrx_start(struct ath_softc *sc)
  {
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 



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