aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000
diff options
context:
space:
mode:
authorMalli Chilakala <mallikarjuna.chilakala@intel.com>2005-06-17 20:43:25 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-27 00:34:25 -0400
commit683a38f374d65128c8dd392a724513f9b8818bf7 (patch)
tree32250b0d31b8ca8ed12dabd5f062f4f8b6d2ac54 /drivers/net/e1000
parent012609a877bbb7508e273d642b245d7633bc45a4 (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.c12
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);