Lines 1971-1993
Link Here
|
1971 |
WPI_LOCK(sc); |
1971 |
WPI_LOCK(sc); |
1972 |
|
1972 |
|
1973 |
ring->queued -= 1; |
1973 |
ring->queued -= 1; |
1974 |
if (ring->queued > 0) |
1974 |
if (ring->queued > 0) { |
1975 |
callout_reset(&sc->tx_timeout, 5*hz, wpi_tx_timeout, sc); |
1975 |
callout_reset(&sc->tx_timeout, 5*hz, wpi_tx_timeout, sc); |
1976 |
else |
1976 |
|
|
|
1977 |
if (sc->qfullmsk != 0 && |
1978 |
ring->queued < WPI_TX_RING_LOMARK) { |
1979 |
sc->qfullmsk &= ~(1 << ring->qid); |
1980 |
IF_LOCK(&ifp->if_snd); |
1981 |
if (sc->qfullmsk == 0 && |
1982 |
(ifp->if_drv_flags & IFF_DRV_OACTIVE)) { |
1983 |
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; |
1984 |
IF_UNLOCK(&ifp->if_snd); |
1985 |
ieee80211_runtask(ic, &sc->sc_start_task); |
1986 |
} else |
1987 |
IF_UNLOCK(&ifp->if_snd); |
1988 |
} |
1989 |
} else |
1977 |
callout_stop(&sc->tx_timeout); |
1990 |
callout_stop(&sc->tx_timeout); |
1978 |
|
1991 |
|
1979 |
if (ring->queued < WPI_TX_RING_LOMARK) { |
|
|
1980 |
sc->qfullmsk &= ~(1 << ring->qid); |
1981 |
IF_LOCK(&ifp->if_snd); |
1982 |
if (sc->qfullmsk == 0 && |
1983 |
(ifp->if_drv_flags & IFF_DRV_OACTIVE)) { |
1984 |
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; |
1985 |
IF_UNLOCK(&ifp->if_snd); |
1986 |
ieee80211_runtask(ic, &sc->sc_start_task); |
1987 |
} else |
1988 |
IF_UNLOCK(&ifp->if_snd); |
1989 |
} |
1990 |
|
1991 |
DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__); |
1992 |
DPRINTF(sc, WPI_DEBUG_TRACE, TRACE_STR_END, __func__); |
1992 |
} |
1993 |
} |
1993 |
|
1994 |
|