diff options
author | glebius <glebius@FreeBSD.org> | 2006-02-07 13:11:13 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2006-02-07 13:11:13 +0000 |
commit | 9c877fb4f432cdf9f712b911bbd975267214e429 (patch) | |
tree | 0e42ac14161462066fd53f7a89e71fa09df3f00c /sys/dev | |
parent | ce4f4426d205094cfd87ef772ab7c0a000106584 (diff) | |
download | FreeBSD-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.c | 3 |
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 |