diff options
author | Malli Chilakala <mallikarjuna.chilakala@intel.com> | 2005-06-17 20:43:25 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-06-27 00:34:25 -0400 |
commit | 683a38f374d65128c8dd392a724513f9b8818bf7 (patch) | |
tree | 32250b0d31b8ca8ed12dabd5f062f4f8b6d2ac54 /drivers/net/e1000 | |
parent | 012609a877bbb7508e273d642b245d7633bc45a4 (diff) |
[PATCH] e1000: Fixed VLAN tag processing error for big-endian architectures
Fixed VLAN tag processing error for big-endian architectures
Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Diffstat (limited to 'drivers/net/e1000')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 24c31fff4a75..d59f75b7bf16 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2994,7 +2994,7 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter) | |||
2994 | 2994 | ||
2995 | i = rx_ring->next_to_clean; | 2995 | i = rx_ring->next_to_clean; |
2996 | rx_desc = E1000_RX_DESC_PS(*rx_ring, i); | 2996 | rx_desc = E1000_RX_DESC_PS(*rx_ring, i); |
2997 | staterr = rx_desc->wb.middle.status_error; | 2997 | staterr = le32_to_cpu(rx_desc->wb.middle.status_error); |
2998 | 2998 | ||
2999 | while(staterr & E1000_RXD_STAT_DD) { | 2999 | while(staterr & E1000_RXD_STAT_DD) { |
3000 | buffer_info = &rx_ring->buffer_info[i]; | 3000 | buffer_info = &rx_ring->buffer_info[i]; |
@@ -3065,16 +3065,16 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter) | |||
3065 | #ifdef CONFIG_E1000_NAPI | 3065 | #ifdef CONFIG_E1000_NAPI |
3066 | if(unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) { | 3066 | if(unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) { |
3067 | vlan_hwaccel_receive_skb(skb, adapter->vlgrp, | 3067 | vlan_hwaccel_receive_skb(skb, adapter->vlgrp, |
3068 | le16_to_cpu(rx_desc->wb.middle.vlan & | 3068 | le16_to_cpu(rx_desc->wb.middle.vlan) & |
3069 | E1000_RXD_SPC_VLAN_MASK)); | 3069 | E1000_RXD_SPC_VLAN_MASK); |
3070 | } else { | 3070 | } else { |
3071 | netif_receive_skb(skb); | 3071 | netif_receive_skb(skb); |
3072 | } | 3072 | } |
3073 | #else /* CONFIG_E1000_NAPI */ | 3073 | #else /* CONFIG_E1000_NAPI */ |
3074 | if(unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) { | 3074 | if(unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) { |
3075 | vlan_hwaccel_rx(skb, adapter->vlgrp, | 3075 | vlan_hwaccel_rx(skb, adapter->vlgrp, |
3076 | le16_to_cpu(rx_desc->wb.middle.vlan & | 3076 | le16_to_cpu(rx_desc->wb.middle.vlan) & |
3077 | E1000_RXD_SPC_VLAN_MASK)); | 3077 | E1000_RXD_SPC_VLAN_MASK); |
3078 | } else { | 3078 | } else { |
3079 | netif_rx(skb); | 3079 | netif_rx(skb); |
3080 | } | 3080 | } |
@@ -3087,7 +3087,7 @@ next_desc: | |||
3087 | if(unlikely(++i == rx_ring->count)) i = 0; | 3087 | if(unlikely(++i == rx_ring->count)) i = 0; |
3088 | 3088 | ||
3089 | rx_desc = E1000_RX_DESC_PS(*rx_ring, i); | 3089 | rx_desc = E1000_RX_DESC_PS(*rx_ring, i); |
3090 | staterr = rx_desc->wb.middle.status_error; | 3090 | staterr = le32_to_cpu(rx_desc->wb.middle.status_error); |
3091 | } | 3091 | } |
3092 | rx_ring->next_to_clean = i; | 3092 | rx_ring->next_to_clean = i; |
3093 | adapter->alloc_rx_buf(adapter); | 3093 | adapter->alloc_rx_buf(adapter); |