View | Details | Raw Unified | Return to bug 197143 | Differences between
and this patch

Collapse All | Expand All

(-)sys/dev/wpi/if_wpi.c (-13 / +2 lines)
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
}

Return to bug 197143