From f9009b998f080530e29e39cf52c46c1ac31f67ac Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 2 Sep 2010 09:39:09 -0700 Subject: [PATCH] --- yaml --- r: 210271 b: refs/heads/master c: 5e4e7573e1ec286120109e73bf54cff465488725 h: refs/heads/master i: 210269: 9f26ee42780428b0417333bdd37958d577c9f31c 210267: 9fb941a80952e86ffb474365890b0f04f45cdd69 210263: bcc315270e28e619c98a6c2313b63be286d0f5d6 210255: 62b09954d2865ab3255916699b7e34961c99b91f 210239: f17f6d3d6d72d2d415d6b1ac32e2392ed9e53a14 v: v3 --- [refs] | 2 +- trunk/drivers/net/sky2.c | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 6f8376cd4312..30f5b1160eb9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3d3be4333fdf6faa080947b331a6a19bce1a4f57 +refs/heads/master: 5e4e7573e1ec286120109e73bf54cff465488725 diff --git a/trunk/drivers/net/sky2.c b/trunk/drivers/net/sky2.c index a6ff113d34bb..194e5cf8c763 100644 --- a/trunk/drivers/net/sky2.c +++ b/trunk/drivers/net/sky2.c @@ -2520,27 +2520,24 @@ static inline void sky2_tx_done(struct net_device *dev, u16 last) } } -static inline void sky2_skb_rx(struct napi_struct *napi, - const struct sky2_port *sky2, +static inline void sky2_skb_rx(const struct sky2_port *sky2, u32 status, struct sk_buff *skb) { #ifdef SKY2_VLAN_TAG_USED + u16 vlan_tag = be16_to_cpu(sky2->rx_tag); if (sky2->vlgrp && (status & GMR_FS_VLAN)) { - u16 vlan_tag = be16_to_cpu(sky2->rx_tag); - - if (skb->ip_summed == CHECKSUM_NONE || - sky2->netdev != napi->dev) + if (skb->ip_summed == CHECKSUM_NONE) vlan_hwaccel_receive_skb(skb, sky2->vlgrp, vlan_tag); else - vlan_gro_receive(napi, sky2->vlgrp, vlan_tag, skb); + vlan_gro_receive(&sky2->hw->napi, sky2->vlgrp, + vlan_tag, skb); return; } #endif - if (skb->ip_summed == CHECKSUM_NONE || - sky2->netdev != napi->dev) + if (skb->ip_summed == CHECKSUM_NONE) netif_receive_skb(skb); else - napi_gro_receive(napi, skb); + napi_gro_receive(&sky2->hw->napi, skb); } static inline void sky2_rx_done(struct sky2_hw *hw, unsigned port, @@ -2641,7 +2638,7 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do, u16 idx) skb->protocol = eth_type_trans(skb, dev); - sky2_skb_rx(&hw->napi, sky2, status, skb); + sky2_skb_rx(sky2, status, skb); /* Stop after net poll weight */ if (++work_done >= to_do)