From 111e233e5aec0592f70a7c421f007902aee64449 Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Mon, 16 Sep 2002 19:44:55 +0000 Subject: change spaces to tab, bugfix, update to 2.5.35 --- kernel/linux2.5/net/core/dev.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'kernel/linux2.5/net') diff --git a/kernel/linux2.5/net/core/dev.c b/kernel/linux2.5/net/core/dev.c index 6988fb9..5efaf6e 100644 --- a/kernel/linux2.5/net/core/dev.c +++ b/kernel/linux2.5/net/core/dev.c @@ -694,10 +694,14 @@ int dev_open(struct net_device *dev) * Call device private open method */ if (try_inc_mod_count(dev->owner)) { + set_bit(__LINK_STATE_START, &dev->state); if (dev->open) { ret = dev->open(dev); - if (ret && dev->owner) - __MOD_DEC_USE_COUNT(dev->owner); + if (ret) { + clear_bit(__LINK_STATE_START, &dev->state); + if (dev->owner) + __MOD_DEC_USE_COUNT(dev->owner); + } } } else { ret = -ENODEV; @@ -713,8 +717,6 @@ int dev_open(struct net_device *dev) */ dev->flags |= IFF_UP; - set_bit(__LINK_STATE_START, &dev->state); - /* * Initialize multicasting status */ @@ -1472,11 +1474,12 @@ int netif_receive_skb(struct sk_buff *skb) #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) if (skb->dev->br_port && br_handle_frame_hook) { - int ret; + int ret; - ret = handle_bridge(skb, pt_prev); - if (br_handle_frame_hook(skb) == 0) - return ret; + ret = handle_bridge(skb, pt_prev); + if (br_handle_frame_hook(skb) == 0) + return ret; + pt_prev = NULL; } #endif -- cgit v1.2.3