• Finn Thain's avatar
    mac8390: Fix mmio access size probe · bb9e5c5b
    Finn Thain authored
    The bug that Stan reported is as follows. After a restart, a 16-bit NIC
    may be incorrectly identified as a 32-bit NIC and stop working.
    
    mac8390 slot.E: Memory length resource not found, probing
    mac8390 slot.E: Farallon EtherMac II-C (type farallon)
    mac8390 slot.E: MAC 00:00:c5:30:c2:99, IRQ 61, 32 KB shared memory at 0xfeed0000, 32-bit access.
    
    The bug never arises after a cold start and only intermittently after a
    warm start. (I didn't investigate why the bug is intermittent.)
    
    It turns out that memcpy_toio() is deprecated and memcmp_withio() also
    has issues. Replacing these calls with mmio accessors fixes the problem.
    Reported-and-tested-by: default avatarStan Johnson <userm57@yahoo.com>
    Fixes: 2964db0f ("m68k: Mac DP8390 update")
    Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bb9e5c5b
mac8390.c 22.7 KB