skb->data_len += length;
                }
  
 +copydone:
                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);
  
                if (likely(rx_desc->wb.upper.header_status &
                }
  #endif /* CONFIG_E1000_NAPI */
                netdev->last_rx = jiffies;
 -#ifdef CONFIG_E1000_MQ
 -              rx_ring->rx_stats.packets++;
 -              rx_ring->rx_stats.bytes += length;
 -#endif
  
  next_desc:
-               rx_desc->wb.middle.status_error &= ~0xFF;
+               rx_desc->wb.middle.status_error &= cpu_to_le32(~0xFF);
                buffer_info->skb = NULL;
  
                /* return some buffers to hardware, one at a time is too slow */