Commit b62bd852 authored by David S. Miller's avatar David S. Miller

Merge nuts.ninka.net:/home/davem/src/BK/network-2.5

into nuts.ninka.net:/home/davem/src/BK/net-2.5
parents b86422d7 b88d3971
...@@ -2101,17 +2101,14 @@ static int gem_open(struct net_device *dev) ...@@ -2101,17 +2101,14 @@ static int gem_open(struct net_device *dev)
gp->hw_running = 1; gp->hw_running = 1;
} }
spin_lock_irq(&gp->lock);
/* We can now request the interrupt as we know it's masked /* We can now request the interrupt as we know it's masked
* on the controller * on the controller
*/ */
if (request_irq(gp->pdev->irq, gem_interrupt, if (request_irq(gp->pdev->irq, gem_interrupt,
SA_SHIRQ, dev->name, (void *)dev)) { SA_SHIRQ, dev->name, (void *)dev)) {
spin_unlock_irq(&gp->lock);
printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name); printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name);
spin_lock_irq(&gp->lock);
#ifdef CONFIG_PPC_PMAC #ifdef CONFIG_PPC_PMAC
if (!hw_was_up && gp->pdev->vendor == PCI_VENDOR_ID_APPLE) if (!hw_was_up && gp->pdev->vendor == PCI_VENDOR_ID_APPLE)
gem_apple_powerdown(gp); gem_apple_powerdown(gp);
...@@ -2120,10 +2117,13 @@ static int gem_open(struct net_device *dev) ...@@ -2120,10 +2117,13 @@ static int gem_open(struct net_device *dev)
gp->pm_timer.expires = jiffies + 10*HZ; gp->pm_timer.expires = jiffies + 10*HZ;
add_timer(&gp->pm_timer); add_timer(&gp->pm_timer);
up(&gp->pm_sem); up(&gp->pm_sem);
spin_unlock_irq(&gp->lock);
return -EAGAIN; return -EAGAIN;
} }
spin_lock_irq(&gp->lock);
/* Allocate & setup ring buffers */ /* Allocate & setup ring buffers */
gem_init_rings(gp); gem_init_rings(gp);
......
...@@ -904,9 +904,9 @@ static inline unsigned char *pskb_pull(struct sk_buff *skb, unsigned int len) ...@@ -904,9 +904,9 @@ static inline unsigned char *pskb_pull(struct sk_buff *skb, unsigned int len)
static inline int pskb_may_pull(struct sk_buff *skb, unsigned int len) static inline int pskb_may_pull(struct sk_buff *skb, unsigned int len)
{ {
if (len <= skb_headlen(skb)) if (likely(len <= skb_headlen(skb)))
return 1; return 1;
if (len > skb->len) if (unlikely(len > skb->len))
return 0; return 0;
return __pskb_pull_tail(skb, len-skb_headlen(skb)) != NULL; return __pskb_pull_tail(skb, len-skb_headlen(skb)) != NULL;
} }
......
This diff is collapsed.
...@@ -10,7 +10,7 @@ obj-$(CONFIG_ATM_CLIP) += clip.o ...@@ -10,7 +10,7 @@ obj-$(CONFIG_ATM_CLIP) += clip.o
atm-$(subst m,y,$(CONFIG_ATM_CLIP)) += ipcommon.o atm-$(subst m,y,$(CONFIG_ATM_CLIP)) += ipcommon.o
obj-$(CONFIG_ATM_BR2684) += br2684.o obj-$(CONFIG_ATM_BR2684) += br2684.o
atm-$(subst m,y,$(CONFIG_ATM_BR2684)) += ipcommon.o atm-$(subst m,y,$(CONFIG_ATM_BR2684)) += ipcommon.o
atm-$(subst m,y,$CONFIG_NET_SCH_ATM)) += ipcommon.o atm-$(subst m,y,$(CONFIG_NET_SCH_ATM)) += ipcommon.o
atm-$(CONFIG_PROC_FS) += proc.o atm-$(CONFIG_PROC_FS) += proc.o
obj-$(CONFIG_ATM_LANE) += lec.o obj-$(CONFIG_ATM_LANE) += lec.o
......
...@@ -557,6 +557,18 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info, ...@@ -557,6 +557,18 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info,
rcu_read_lock(); rcu_read_lock();
/* Release those devices we held, or Alexey will kill me. */
if (info->indev) dev_put(info->indev);
if (info->outdev) dev_put(info->outdev);
#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
if (skb->nf_bridge) {
if (skb->nf_bridge->physindev)
dev_put(skb->nf_bridge->physindev);
if (skb->nf_bridge->physoutdev)
dev_put(skb->nf_bridge->physoutdev);
}
#endif
/* Drop reference to owner of hook which queued us. */ /* Drop reference to owner of hook which queued us. */
module_put(info->elem->owner); module_put(info->elem->owner);
...@@ -599,19 +611,6 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info, ...@@ -599,19 +611,6 @@ void nf_reinject(struct sk_buff *skb, struct nf_info *info,
} }
rcu_read_unlock(); rcu_read_unlock();
/* Release those devices we held, or Alexey will kill me. */
if (info->indev) dev_put(info->indev);
if (info->outdev) dev_put(info->outdev);
#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
if (skb->nf_bridge) {
if (skb->nf_bridge->physindev)
dev_put(skb->nf_bridge->physindev);
if (skb->nf_bridge->physoutdev)
dev_put(skb->nf_bridge->physoutdev);
}
#endif
if (verdict == NF_DROP) if (verdict == NF_DROP)
kfree_skb(skb); kfree_skb(skb);
......
...@@ -35,5 +35,3 @@ config DECNET_ROUTE_FWMARK ...@@ -35,5 +35,3 @@ config DECNET_ROUTE_FWMARK
packets with different FWMARK ("firewalling mark") values packets with different FWMARK ("firewalling mark") values
(see ipchains(8), "-m" argument). (see ipchains(8), "-m" argument).
source "net/decnet/netfilter/Kconfig"
...@@ -374,6 +374,5 @@ config INET_IPCOMP ...@@ -374,6 +374,5 @@ config INET_IPCOMP
If unsure, say Y. If unsure, say Y.
source "net/ipv4/netfilter/Kconfig"
source "net/ipv4/ipvs/Kconfig" source "net/ipv4/ipvs/Kconfig"
...@@ -63,4 +63,3 @@ config IPV6_TUNNEL ...@@ -63,4 +63,3 @@ config IPV6_TUNNEL
If unsure, say N. If unsure, say N.
source "net/ipv6/netfilter/Kconfig"
...@@ -514,20 +514,11 @@ EXPORT_SYMBOL(netlink_post); ...@@ -514,20 +514,11 @@ EXPORT_SYMBOL(netlink_post);
#endif #endif
EXPORT_SYMBOL(rtattr_parse); EXPORT_SYMBOL(rtattr_parse);
EXPORT_SYMBOL(rtnetlink_links);
EXPORT_SYMBOL(__rta_fill); EXPORT_SYMBOL(__rta_fill);
EXPORT_SYMBOL(rtnetlink_dump_ifinfo);
EXPORT_SYMBOL(rtnetlink_put_metrics);
EXPORT_SYMBOL(rtnl);
EXPORT_SYMBOL(neigh_delete); EXPORT_SYMBOL(neigh_delete);
EXPORT_SYMBOL(neigh_add); EXPORT_SYMBOL(neigh_add);
EXPORT_SYMBOL(neigh_dump_info); EXPORT_SYMBOL(neigh_dump_info);
EXPORT_SYMBOL(dev_set_allmulti);
EXPORT_SYMBOL(dev_set_promiscuity);
EXPORT_SYMBOL(rtnl_sem);
EXPORT_SYMBOL(rtnl_lock);
EXPORT_SYMBOL(rtnl_unlock);
/* ABI emulation layers need this */ /* ABI emulation layers need this */
EXPORT_SYMBOL(move_addr_to_kernel); EXPORT_SYMBOL(move_addr_to_kernel);
...@@ -535,7 +526,6 @@ EXPORT_SYMBOL(move_addr_to_user); ...@@ -535,7 +526,6 @@ EXPORT_SYMBOL(move_addr_to_user);
/* Used by at least ipip.c. */ /* Used by at least ipip.c. */
EXPORT_SYMBOL(ipv4_config); EXPORT_SYMBOL(ipv4_config);
EXPORT_SYMBOL(dev_open);
/* Used by other modules */ /* Used by other modules */
EXPORT_SYMBOL(xrlim_allow); EXPORT_SYMBOL(xrlim_allow);
...@@ -611,12 +601,23 @@ EXPORT_SYMBOL(netdev_fc_xoff); ...@@ -611,12 +601,23 @@ EXPORT_SYMBOL(netdev_fc_xoff);
#endif #endif
EXPORT_SYMBOL(dev_base); EXPORT_SYMBOL(dev_base);
EXPORT_SYMBOL(dev_base_lock); EXPORT_SYMBOL(dev_base_lock);
EXPORT_SYMBOL(dev_open);
EXPORT_SYMBOL(dev_close); EXPORT_SYMBOL(dev_close);
EXPORT_SYMBOL(dev_mc_add); EXPORT_SYMBOL(dev_mc_add);
EXPORT_SYMBOL(dev_mc_delete); EXPORT_SYMBOL(dev_mc_delete);
EXPORT_SYMBOL(dev_mc_upload); EXPORT_SYMBOL(dev_mc_upload);
EXPORT_SYMBOL(dev_set_allmulti);
EXPORT_SYMBOL(dev_set_promiscuity);
EXPORT_SYMBOL(__kill_fasync); EXPORT_SYMBOL(__kill_fasync);
EXPORT_SYMBOL(rtnl);
EXPORT_SYMBOL(rtnetlink_links);
EXPORT_SYMBOL(rtnetlink_dump_ifinfo);
EXPORT_SYMBOL(rtnetlink_put_metrics);
EXPORT_SYMBOL(rtnl_sem);
EXPORT_SYMBOL(rtnl_lock);
EXPORT_SYMBOL(rtnl_unlock);
#ifdef CONFIG_HIPPI #ifdef CONFIG_HIPPI
EXPORT_SYMBOL(hippi_type_trans); EXPORT_SYMBOL(hippi_type_trans);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment