• Linus Torvalds's avatar
    3com 3c515: make it compile on 64-bit architectures · db71f8fb
    Linus Torvalds authored
    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.
    Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    db71f8fb
3c515.c 48 KB