if_ath_tx.c (242271) | if_ath_tx.c (242391) |
---|---|
1/*- 2 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 3 * Copyright (c) 2010-2012 Adrian Chadd, Xenion Pty Ltd 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 15 unchanged lines hidden (view full) --- 24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 26 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 28 * THE POSSIBILITY OF SUCH DAMAGES. 29 */ 30 31#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2002-2009 Sam Leffler, Errno Consulting 3 * Copyright (c) 2010-2012 Adrian Chadd, Xenion Pty Ltd 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 15 unchanged lines hidden (view full) --- 24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 26 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 28 * THE POSSIBILITY OF SUCH DAMAGES. 29 */ 30 31#include <sys/cdefs.h> |
32__FBSDID("$FreeBSD: head/sys/dev/ath/if_ath_tx.c 242271 2012-10-28 21:13:12Z adrian $"); | 32__FBSDID("$FreeBSD: head/sys/dev/ath/if_ath_tx.c 242391 2012-10-31 06:27:58Z adrian $"); |
33 34/* 35 * Driver for the Atheros Wireless LAN controller. 36 * 37 * This software is derived from work of Atsushi Onoe; his contribution 38 * is greatly appreciated. 39 */ 40 --- 2107 unchanged lines hidden (view full) --- 2148 __func__); 2149 error = EIO; 2150 ATH_PCU_UNLOCK(sc); 2151 goto bad0; 2152 } 2153 sc->sc_txstart_cnt++; 2154 ATH_PCU_UNLOCK(sc); 2155 | 33 34/* 35 * Driver for the Atheros Wireless LAN controller. 36 * 37 * This software is derived from work of Atsushi Onoe; his contribution 38 * is greatly appreciated. 39 */ 40 --- 2107 unchanged lines hidden (view full) --- 2148 __func__); 2149 error = EIO; 2150 ATH_PCU_UNLOCK(sc); 2151 goto bad0; 2152 } 2153 sc->sc_txstart_cnt++; 2154 ATH_PCU_UNLOCK(sc); 2155 |
2156 ATH_TX_LOCK(sc); 2157 |
|
2156 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || sc->sc_invalid) { 2157 DPRINTF(sc, ATH_DEBUG_XMIT, "%s: discard frame, %s", __func__, 2158 (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 ? 2159 "!running" : "invalid"); 2160 m_freem(m); 2161 error = ENETDOWN; 2162 goto bad; 2163 } --- 61 unchanged lines hidden (view full) --- 2225 * set the TIM. 2226 */ 2227 ath_tx_update_tim(sc, ni, 1); 2228 2229 ATH_PCU_LOCK(sc); 2230 sc->sc_txstart_cnt--; 2231 ATH_PCU_UNLOCK(sc); 2232 | 2158 if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || sc->sc_invalid) { 2159 DPRINTF(sc, ATH_DEBUG_XMIT, "%s: discard frame, %s", __func__, 2160 (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 ? 2161 "!running" : "invalid"); 2162 m_freem(m); 2163 error = ENETDOWN; 2164 goto bad; 2165 } --- 61 unchanged lines hidden (view full) --- 2227 * set the TIM. 2228 */ 2229 ath_tx_update_tim(sc, ni, 1); 2230 2231 ATH_PCU_LOCK(sc); 2232 sc->sc_txstart_cnt--; 2233 ATH_PCU_UNLOCK(sc); 2234 |
2235 ATH_TX_UNLOCK(sc); 2236 |
|
2233 return 0; 2234bad2: 2235 ATH_KTR(sc, ATH_KTR_TX, 3, "ath_raw_xmit: bad2: m=%p, params=%p, " 2236 "bf=%p", 2237 m, 2238 params, 2239 bf); 2240 ATH_TXBUF_LOCK(sc); 2241 ath_returnbuf_head(sc, bf); 2242 ATH_TXBUF_UNLOCK(sc); 2243bad: | 2237 return 0; 2238bad2: 2239 ATH_KTR(sc, ATH_KTR_TX, 3, "ath_raw_xmit: bad2: m=%p, params=%p, " 2240 "bf=%p", 2241 m, 2242 params, 2243 bf); 2244 ATH_TXBUF_LOCK(sc); 2245 ath_returnbuf_head(sc, bf); 2246 ATH_TXBUF_UNLOCK(sc); 2247bad: |
2248 2249 ATH_TX_UNLOCK(sc); 2250 |
|
2244 ATH_PCU_LOCK(sc); 2245 sc->sc_txstart_cnt--; 2246 ATH_PCU_UNLOCK(sc); 2247bad0: 2248 ATH_KTR(sc, ATH_KTR_TX, 2, "ath_raw_xmit: bad0: m=%p, params=%p", 2249 m, params); 2250 ifp->if_oerrors++; 2251 sc->sc_stats.ast_tx_raw_fail++; --- 3223 unchanged lines hidden --- | 2251 ATH_PCU_LOCK(sc); 2252 sc->sc_txstart_cnt--; 2253 ATH_PCU_UNLOCK(sc); 2254bad0: 2255 ATH_KTR(sc, ATH_KTR_TX, 2, "ath_raw_xmit: bad0: m=%p, params=%p", 2256 m, params); 2257 ifp->if_oerrors++; 2258 sc->sc_stats.ast_tx_raw_fail++; --- 3223 unchanged lines hidden --- |