• Ben Dooks's avatar
    DM9000: Do not sleep with spinlock and IRQs held · 89c8b0e6
    Ben Dooks authored
    The phy read and write routines call udelay() with the board
    lock held, and with the posibility of IRQs being disabled. Since
    these delays can be up to 500usec, and are only required as we
    have to save the chip's address register.
    
    To improve the behaviour, hold the lock whilst we are writing
    and then restore the state before the delay and then repeat
    the process once the delay has happened.
    Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    89c8b0e6
dm9000.c 29.2 KB