[U-Boot] [PATCH v2] net: e1000: use correct helper to do endianness conversion

Miao Yan yanmiaobest at gmail.com
Mon Dec 21 11:07:02 CET 2015


In struct e1000_rx_desc, field 'length' is declared as
uint16_t, so use le16_to_cpu() to do endianness conversion.

Also drop conversion on 'status' which is declared as
uint8_t.

Signed-off-by: Miao Yan <yanmiaobest at gmail.com>
---
Changes in v2: 
  - fix typos in commit message

 drivers/net/e1000.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c
index 2ba03ed..6124bf0 100644
--- a/drivers/net/e1000.c
+++ b/drivers/net/e1000.c
@@ -5165,11 +5165,11 @@ _e1000_poll(struct e1000_hw *hw)
 	inval_end = inval_start + roundup(sizeof(*rd), ARCH_DMA_MINALIGN);
 	invalidate_dcache_range(inval_start, inval_end);
 
-	if (!(le32_to_cpu(rd->status)) & E1000_RXD_STAT_DD)
+	if (!(rd->status & E1000_RXD_STAT_DD))
 		return 0;
 	/* DEBUGOUT("recv: packet len=%d\n", rd->length); */
 	/* Packet received, make sure the data are re-loaded from RAM. */
-	len = le32_to_cpu(rd->length);
+	len = le16_to_cpu(rd->length);
 	invalidate_dcache_range((unsigned long)packet,
 				(unsigned long)packet +
 				roundup(len, ARCH_DMA_MINALIGN));
-- 
1.9.1



More information about the U-Boot mailing list