Lines 198-204
Link Here
|
198 |
static int wpi_raw_xmit(struct ieee80211_node *, struct mbuf *, |
198 |
static int wpi_raw_xmit(struct ieee80211_node *, struct mbuf *, |
199 |
const struct ieee80211_bpf_params *); |
199 |
const struct ieee80211_bpf_params *); |
200 |
static void wpi_start(struct ifnet *); |
200 |
static void wpi_start(struct ifnet *); |
201 |
static void wpi_start_locked(struct ifnet *); |
|
|
202 |
static void wpi_start_task(void *, int); |
201 |
static void wpi_start_task(void *, int); |
203 |
static void wpi_watchdog_rfkill(void *); |
202 |
static void wpi_watchdog_rfkill(void *); |
204 |
static void wpi_watchdog(void *); |
203 |
static void wpi_watchdog(void *); |
Lines 2860-2880
Link Here
|
2860 |
wpi_start(struct ifnet *ifp) |
2859 |
wpi_start(struct ifnet *ifp) |
2861 |
{ |
2860 |
{ |
2862 |
struct wpi_softc *sc = ifp->if_softc; |
2861 |
struct wpi_softc *sc = ifp->if_softc; |
2863 |
|
|
|
2864 |
WPI_LOCK(sc); |
2865 |
wpi_start_locked(ifp); |
2866 |
WPI_UNLOCK(sc); |
2867 |
} |
2868 |
|
2869 |
static void |
2870 |
wpi_start_locked(struct ifnet *ifp) |
2871 |
{ |
2872 |
struct wpi_softc *sc = ifp->if_softc; |
2873 |
struct ieee80211_node *ni; |
2862 |
struct ieee80211_node *ni; |
2874 |
struct mbuf *m; |
2863 |
struct mbuf *m; |
2875 |
|
2864 |
|
2876 |
WPI_LOCK_ASSERT(sc); |
|
|
2877 |
|
2878 |
DPRINTF(sc, WPI_DEBUG_XMIT, "%s: called\n", __func__); |
2865 |
DPRINTF(sc, WPI_DEBUG_XMIT, "%s: called\n", __func__); |
2879 |
|
2866 |
|
2880 |
IF_LOCK(&ifp->if_snd); |
2867 |
IF_LOCK(&ifp->if_snd); |
Lines 2885-2890
Link Here
|
2885 |
} |
2872 |
} |
2886 |
IF_UNLOCK(&ifp->if_snd); |
2873 |
IF_UNLOCK(&ifp->if_snd); |
2887 |
|
2874 |
|
|
|
2875 |
WPI_LOCK(sc); |
2888 |
for (;;) { |
2876 |
for (;;) { |
2889 |
if (sc->qfullmsk != 0) { |
2877 |
if (sc->qfullmsk != 0) { |
2890 |
IF_LOCK(&ifp->if_snd); |
2878 |
IF_LOCK(&ifp->if_snd); |
Lines 2903-2908
Link Here
|
2903 |
if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); |
2891 |
if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); |
2904 |
} |
2892 |
} |
2905 |
} |
2893 |
} |
|
|
2894 |
WPI_UNLOCK(sc); |
2906 |
|
2895 |
|
2907 |
DPRINTF(sc, WPI_DEBUG_XMIT, "%s: done\n", __func__); |
2896 |
DPRINTF(sc, WPI_DEBUG_XMIT, "%s: done\n", __func__); |
2908 |
} |
2897 |
} |