>From: Arnd Bergmann [mailto:[email protected]] >Sent: Tuesday, December 08, 2015 5:29 PM >To: David S. Miller >Cc: Noam Camus; Tal Zilcer; [email protected]; >[email protected]; [email protected] >Subject: [PATCH] net: ezchip: fix address space confusion in nps_enet.c
>The nps_enet driver happily mixes virtual, physical and __iomem addresses, >which are all different depending on the architecture and configuration. That >causes a warning when building the code on ARM with LPAE mode enabled: >drivers/net/ethernet/ezchip/nps_enet.c: In function 'nps_enet_send_frame': >drivers/net/ethernet/ezchip/nps_enet.c:370:13: warning: cast to pointer from >integer of different size [-Wint-to-pointer-cast] >but will also fail to work for other reasons. >In this patch, I'm trying to change the code to use only normal kernel >pointers, which I assume is what the author actually meant: >* For reading or writing a 32-bit word that may be unaligned when > an SKB contains unaligned data, I'm using get_unaligned/put_unaligned() > rather than memcpy_fromio/toio. >* For converting a u8 pointer to a u32 pointer, I use a cast rather > than the incorrect virt_to_phys. >* For copying a couple of bytes from one place to another while respecting > alignment, I use memcpy instead of memcpy_toio. >Signed-off-by: Arnd Bergmann <[email protected]> I have tested it on my simulator environment and driver compiles cleanly and runs happily without any problem. Thank you. Acked-by Noam Camus <[email protected]> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

