summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2006-02-07 13:11:13 +0000
committerglebius <glebius@FreeBSD.org>2006-02-07 13:11:13 +0000
commit9c877fb4f432cdf9f712b911bbd975267214e429 (patch)
tree0e42ac14161462066fd53f7a89e71fa09df3f00c /sys/dev
parentce4f4426d205094cfd87ef772ab7c0a000106584 (diff)
downloadFreeBSD-src-9c877fb4f432cdf9f712b911bbd975267214e429.zip
FreeBSD-src-9c877fb4f432cdf9f712b911bbd975267214e429.tar.gz
Since em(4) taskqueue is a new network context, we need to conditionally
lock Giant here. Submitted by: Andrey V. Elsukov <bu7cher yandex.ru>
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/em/if_em.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c
index 6a24365..eef8a1f 100644
--- a/sys/dev/em/if_em.c
+++ b/sys/dev/em/if_em.c
@@ -1101,6 +1101,7 @@ em_handle_rxtx(void *context, int pending)
struct adapter *adapter = context;
struct ifnet *ifp;
+ NET_LOCK_GIANT();
ifp = adapter->ifp;
/*
@@ -1120,7 +1121,7 @@ em_handle_rxtx(void *context, int pending)
}
em_enable_intr(adapter);
- return;
+ NET_UNLOCK_GIANT();
}
#endif
OpenPOWER on IntegriCloud