diff options
author | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-10-15 02:14:01 +0200 |
---|---|---|
committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2011-10-15 02:14:01 +0200 |
commit | 07aaae44f5a3962c3a410a6dd7936dfa7dece2b9 (patch) | |
tree | 0cdb5735800ddd63d8850aa26d3a3f1f3334267a /drivers/net/gianfar.c | |
parent | drivers/video: fsl-diu-fb: merge diu_pool into fsl_diu_data (diff) | |
parent | Linux 3.1-rc9 (diff) | |
download | linux-07aaae44f5a3962c3a410a6dd7936dfa7dece2b9.tar.xz linux-07aaae44f5a3962c3a410a6dd7936dfa7dece2b9.zip |
Merge commit 'v3.1-rc9' into fbdev-next
Diffstat (limited to 'drivers/net/gianfar.c')
-rw-r--r-- | drivers/net/gianfar.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 2659daad783d..31d5c574e5a9 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -2710,8 +2710,13 @@ static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb, /* Tell the skb what kind of packet this is */ skb->protocol = eth_type_trans(skb, dev); - /* Set vlan tag */ - if (fcb->flags & RXFCB_VLN) + /* + * There's need to check for NETIF_F_HW_VLAN_RX here. + * Even if vlan rx accel is disabled, on some chips + * RXFCB_VLN is pseudo randomly set. + */ + if (dev->features & NETIF_F_HW_VLAN_RX && + fcb->flags & RXFCB_VLN) __vlan_hwaccel_put_tag(skb, fcb->vlctl); /* Send the packet up the stack */ |