aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-03-15 17:26:28 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-16 19:17:38 -0500
commitc3d7a3a4eb5e8f290d7b1d61430eed1ebedeb936 (patch)
treea616111ca9d23e58bb4e2b434216104831a1e186 /drivers
parentb27a1ed571e12e7ec75b8907bf02fd69fd2bfe10 (diff)
[PATCH] e1000 endianness bugs
return -E_NO_BIG_ENDIAN_TESTING; [E1000]: Fix 4 missed endianness conversions on RX descriptor fields. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/e1000/e1000_main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 4c4db96d0b7b..84dcca3776ee 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3710,7 +3710,7 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
3710 e1000_rx_checksum(adapter, 3710 e1000_rx_checksum(adapter,
3711 (uint32_t)(status) | 3711 (uint32_t)(status) |
3712 ((uint32_t)(rx_desc->errors) << 24), 3712 ((uint32_t)(rx_desc->errors) << 24),
3713 rx_desc->csum, skb); 3713 le16_to_cpu(rx_desc->csum), skb);
3714 3714
3715 skb->protocol = eth_type_trans(skb, netdev); 3715 skb->protocol = eth_type_trans(skb, netdev);
3716#ifdef CONFIG_E1000_NAPI 3716#ifdef CONFIG_E1000_NAPI
@@ -3854,11 +3854,11 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
3854 } 3854 }
3855 3855
3856 e1000_rx_checksum(adapter, staterr, 3856 e1000_rx_checksum(adapter, staterr,
3857 rx_desc->wb.lower.hi_dword.csum_ip.csum, skb); 3857 le16_to_cpu(rx_desc->wb.lower.hi_dword.csum_ip.csum), skb);
3858 skb->protocol = eth_type_trans(skb, netdev); 3858 skb->protocol = eth_type_trans(skb, netdev);
3859 3859
3860 if (likely(rx_desc->wb.upper.header_status & 3860 if (likely(rx_desc->wb.upper.header_status &
3861 E1000_RXDPS_HDRSTAT_HDRSP)) 3861 cpu_to_le16(E1000_RXDPS_HDRSTAT_HDRSP)))
3862 adapter->rx_hdr_split++; 3862 adapter->rx_hdr_split++;
3863#ifdef CONFIG_E1000_NAPI 3863#ifdef CONFIG_E1000_NAPI
3864 if (unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) { 3864 if (unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) {
@@ -3884,7 +3884,7 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
3884#endif 3884#endif
3885 3885
3886next_desc: 3886next_desc:
3887 rx_desc->wb.middle.status_error &= ~0xFF; 3887 rx_desc->wb.middle.status_error &= cpu_to_le32(~0xFF);
3888 buffer_info->skb = NULL; 3888 buffer_info->skb = NULL;
3889 3889
3890 /* return some buffers to hardware, one at a time is too slow */ 3890 /* return some buffers to hardware, one at a time is too slow */