Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc9bd5ce authored by Joe Eykholt's avatar Joe Eykholt Committed by Jeff Garzik
Browse files

net/core: Uninline skb_bond().



Otherwise subsequent changes need multiple return values.

Signed-off-by: default avatarJoe Eykholt <jre@nuovasystems.com>
Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent db018a5f
Loading
Loading
Loading
Loading
+8 −20
Original line number Diff line number Diff line
@@ -1939,22 +1939,6 @@ int netif_rx_ni(struct sk_buff *skb)

EXPORT_SYMBOL(netif_rx_ni);

static inline struct net_device *skb_bond(struct sk_buff *skb)
{
	struct net_device *dev = skb->dev;

	if (dev->master) {
		if (skb_bond_should_drop(skb)) {
			kfree_skb(skb);
			return NULL;
		}
		skb->dev = dev->master;
	}

	return dev;
}


static void net_tx_action(struct softirq_action *h)
{
	struct softnet_data *sd = &__get_cpu_var(softnet_data);
@@ -2194,10 +2178,14 @@ int netif_receive_skb(struct sk_buff *skb)
	if (!skb->iif)
		skb->iif = skb->dev->ifindex;

	orig_dev = skb_bond(skb);

	if (!orig_dev)
	orig_dev = skb->dev;
	if (orig_dev->master) {
		if (skb_bond_should_drop(skb)) {
			kfree_skb(skb);
			return NET_RX_DROP;
		}
		skb->dev = orig_dev->master;
	}

	__get_cpu_var(netdev_rx_stat).total++;