summaryrefslogtreecommitdiffstats
path: root/kernel/linux2.5/net/bridge
diff options
context:
space:
mode:
authorBart De Schuymer <bdschuym@pandora.be>2002-09-29 18:25:11 +0000
committerBart De Schuymer <bdschuym@pandora.be>2002-09-29 18:25:11 +0000
commit089e607e3af877fd69ed22dc9348af857ae68986 (patch)
tree40e5725a48a141601d26c7827c163f0ca7b35474 /kernel/linux2.5/net/bridge
parent49a6d62a26e1f72f03f23878a982c6b3004a15a6 (diff)
unlock bridge lock when brouting,
Diffstat (limited to 'kernel/linux2.5/net/bridge')
-rw-r--r--kernel/linux2.5/net/bridge/br_input.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/linux2.5/net/bridge/br_input.c b/kernel/linux2.5/net/bridge/br_input.c
index d3956cd..b551775 100644
--- a/kernel/linux2.5/net/bridge/br_input.c
+++ b/kernel/linux2.5/net/bridge/br_input.c
@@ -5,7 +5,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: br_input.c,v 1.3 2002/09/16 19:45:51 bdschuym Exp $
+ * $Id: br_input.c,v 1.4 2002/09/29 18:25:11 bdschuym Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -149,8 +149,10 @@ int br_handle_frame(struct sk_buff *skb)
goto handle_special_frame;
if (p->state == BR_STATE_FORWARDING) {
- if (br_should_route_hook && br_should_route_hook(&skb))
+ if (br_should_route_hook && br_should_route_hook(&skb)) {
+ read_unlock(&br->lock);
return -1;
+ }
NF_HOOK(PF_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
br_handle_frame_finish);