diff options
Diffstat (limited to 'kernel/linux/net')
-rw-r--r-- | kernel/linux/net/bridge/br_input.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/linux/net/bridge/br_input.c b/kernel/linux/net/bridge/br_input.c index ffd8ccf..aed60eb 100644 --- a/kernel/linux/net/bridge/br_input.c +++ b/kernel/linux/net/bridge/br_input.c @@ -5,7 +5,7 @@ * Authors: * Lennert Buytenhek <buytenh@gnu.org> * - * $Id: br_input.c,v 1.6 2002/09/16 21:06:14 bdschuym Exp $ + * $Id: br_input.c,v 1.7 2002/09/29 18:27:32 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); |