The natsemi driver didn't properly synchronize netif_close/netif_suspend against a last interrupt or packet. Result: hang during ifdown with concurrent flood ping. Additional changes: * do not enable superflous interrupts (e.g. the drivers relies on TxDone - TxIntr not needed) * wait that the hardware has really stopped in close and suspend. * workaround for the (at least) gcc-2.95.1 compiler problem. Also simplifies the code a bit. * disable_irq() in tx_timeout - needed to protect against rx interrupts. * stop the nic before switching into silent rx mode for wol (required according to docu). Patch against 2.4.10. WOL is not tested, but ifup, ifdown, suspend and resume during flood ping now work. -- Manfred