diff options
author | Bart De Schuymer <bdschuym@pandora.be> | 2002-09-29 18:25:11 +0000 |
---|---|---|
committer | Bart De Schuymer <bdschuym@pandora.be> | 2002-09-29 18:25:11 +0000 |
commit | 089e607e3af877fd69ed22dc9348af857ae68986 (patch) | |
tree | 40e5725a48a141601d26c7827c163f0ca7b35474 /kernel | |
parent | 49a6d62a26e1f72f03f23878a982c6b3004a15a6 (diff) |
unlock bridge lock when brouting,
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/linux2.5/net/bridge/br_input.c | 6 |
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); |