drivers/net/rtl8139.c: rx_status should be le32_to_cpu(rx_status).
authorShinya Kuribayashi <shinya.kuribayashi@necel.com>
Wed, 16 Jan 2008 07:13:31 +0000 (16:13 +0900)
committerBen Warren <biggerbadderben@gmail.com>
Wed, 16 Jan 2008 22:37:35 +0000 (17:37 -0500)
rx_status on the memory is basically in LE, but needs to be handled in CPU
endian. le32_to_cpu() takes up this mission. Even if on the sane hardware,
it'll work fine.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
Cc: Masami Komiya <mkomiya@sonare.it>
Cc: Lucas Jin <lucasjin@gmail.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
drivers/net/rtl8139.c

index 014f3b4324b21b548d2fa32a875b680acbf0babe..097f6841aeeeaa6d018ed737f55a7f7d9283a5f8 100644 (file)
@@ -489,7 +489,7 @@ static int rtl_poll(struct eth_device *dev)
 
        ring_offs = cur_rx % RX_BUF_LEN;
        /* ring_offs is guaranteed being 4-byte aligned */
-       rx_status = *(unsigned int *)(rx_ring + ring_offs);
+       rx_status = le32_to_cpu(*(unsigned int *)(rx_ring + ring_offs));
        rx_size = rx_status >> 16;
        rx_status &= 0xffff;