summaryrefslogtreecommitdiffstats
path: root/sys/dev/if_ndis/if_ndis.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/if_ndis/if_ndis.c')
-rw-r--r--sys/dev/if_ndis/if_ndis.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/if_ndis/if_ndis.c b/sys/dev/if_ndis/if_ndis.c
index 6b5b78f..0d1a168 100644
--- a/sys/dev/if_ndis/if_ndis.c
+++ b/sys/dev/if_ndis/if_ndis.c
@@ -757,8 +757,6 @@ ndis_txeof(adapter, packet, status)
sc = (struct ndis_softc *)block->nmb_ifp;
ifp = block->nmb_ifp;
- NDIS_LOCK(sc);
-
m = packet->np_m0;
idx = packet->np_txidx;
ifp->if_opackets++;
@@ -772,8 +770,6 @@ ndis_txeof(adapter, packet, status)
ifp->if_timer = 0;
ifp->if_flags &= ~IFF_OACTIVE;
- NDIS_UNLOCK(sc);
-
m_freem(m);
taskqueue_enqueue(taskqueue_swi, &sc->ndis_starttask);
@@ -843,7 +839,9 @@ ndis_intrtask(arg, pending)
sc = arg;
ifp = &sc->arpcom.ac_if;
+ NDIS_LOCK(sc);
ndis_intrhand(sc);
+ NDIS_UNLOCK(sc);
mtx_lock(&sc->ndis_intrmtx);
ndis_enable_intr(sc);
mtx_unlock(&sc->ndis_intrmtx);
OpenPOWER on IntegriCloud