[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>
This commit is contained in:
parent
b27a1ed571
commit
c3d7a3a4eb
1 changed files with 4 additions and 4 deletions
|
@ -3710,7 +3710,7 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter,
|
||||||
e1000_rx_checksum(adapter,
|
e1000_rx_checksum(adapter,
|
||||||
(uint32_t)(status) |
|
(uint32_t)(status) |
|
||||||
((uint32_t)(rx_desc->errors) << 24),
|
((uint32_t)(rx_desc->errors) << 24),
|
||||||
rx_desc->csum, skb);
|
le16_to_cpu(rx_desc->csum), skb);
|
||||||
|
|
||||||
skb->protocol = eth_type_trans(skb, netdev);
|
skb->protocol = eth_type_trans(skb, netdev);
|
||||||
#ifdef CONFIG_E1000_NAPI
|
#ifdef CONFIG_E1000_NAPI
|
||||||
|
@ -3854,11 +3854,11 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
|
||||||
}
|
}
|
||||||
|
|
||||||
e1000_rx_checksum(adapter, staterr,
|
e1000_rx_checksum(adapter, staterr,
|
||||||
rx_desc->wb.lower.hi_dword.csum_ip.csum, skb);
|
le16_to_cpu(rx_desc->wb.lower.hi_dword.csum_ip.csum), skb);
|
||||||
skb->protocol = eth_type_trans(skb, netdev);
|
skb->protocol = eth_type_trans(skb, netdev);
|
||||||
|
|
||||||
if (likely(rx_desc->wb.upper.header_status &
|
if (likely(rx_desc->wb.upper.header_status &
|
||||||
E1000_RXDPS_HDRSTAT_HDRSP))
|
cpu_to_le16(E1000_RXDPS_HDRSTAT_HDRSP)))
|
||||||
adapter->rx_hdr_split++;
|
adapter->rx_hdr_split++;
|
||||||
#ifdef CONFIG_E1000_NAPI
|
#ifdef CONFIG_E1000_NAPI
|
||||||
if (unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) {
|
if (unlikely(adapter->vlgrp && (staterr & E1000_RXD_STAT_VP))) {
|
||||||
|
@ -3884,7 +3884,7 @@ e1000_clean_rx_irq_ps(struct e1000_adapter *adapter,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
next_desc:
|
next_desc:
|
||||||
rx_desc->wb.middle.status_error &= ~0xFF;
|
rx_desc->wb.middle.status_error &= cpu_to_le32(~0xFF);
|
||||||
buffer_info->skb = NULL;
|
buffer_info->skb = NULL;
|
||||||
|
|
||||||
/* return some buffers to hardware, one at a time is too slow */
|
/* return some buffers to hardware, one at a time is too slow */
|
||||||
|
|
Reference in a new issue