From: Ken Kawasaki <redacted>
Date: Sun, 5 Jun 2011 08:20:16 +0900
smc91c92_cs:
set smc->base to NULL before iounmap
to avoid writing to smc->base in smc_interrupt.
Signed-off-by: Ken Kawasaki <redacted>
The device should be completely made quiet and all interrupts
synchronized before unmapping chip registers. Using NULL checks
is merely a workaround for the real problem, even though you take
great pains to assign NULL before the iounmap() call.
Perhaps putting the pcmcia_disable_device() call before the iounmap()
will be sufficient to fix this bug. Or perhaps that, plus a call to
synchronize_irq() or similar.