3com 3c515: make it compile on 64-bit architectures

Linux Kernel / Linux Kernel - Linus Torvalds [linux-foundation.org] - 16 September 2021 18:14 UTC

This driver isn't enabled most places because of the ISA config dependency, but alpha still has it. And I think the 'Jensen' actually did have an ISA slot.

However, it doesn't build cleanly, because the "Vortex bus master" code just casts the skb->data pointer to 'int':

outl((int) (skb->data), ioaddr + Wn7_MasterAddr);

which is all kinds of broken. Even on a good old traditional PC/AT it would be broken because the high bits will be random kernel address bits, but presumably the hardware ignores those bits. I mean, it's ISA. We're talking 16MB dma limits. The "good old days".

Make the build happy with this kind of craziness by using the proper isa_virt_to_bus() handling that the full bus master code uses anyway (the Vortex bus mastering is a limited special case).

Who knows, this might even work.

db71f8fb4495 3com 3c515: make it compile on 64-bit architectures
drivers/net/ethernet/3com/3c515.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Upstream: git.kernel.org

  • Share