My machine annoyingly hangs while rebooting. I tracked it down to
e100-fix-reboot-f-with-netconsole-enabled.patch in 2.6.18-rc2-mm2
I review the changes and it seemed to be calling
netif_poll_disable one too many time. Once in e100_down(), and
again in e100_shutdown().
The second one in e100_shutdown() caused the hang. So this patch
removes it.
* Auke Kok <auke-jan.h.kok@xxxxxxxxx> [061020 23:09]:it doesn't even do harm to netif_poll_disable() twice as far as I can
see, as it merely calls test_and_set_bit(), which will instantly
succeed on the first attempt if the bit was already set.
did this change actually fix it for you? I'm wondering if the
netif_carrier_off might not be the culprit here...
I can confirm the proposed original change of D. Walker fixed the
problem for me. I did not test the change you proposed as a followup.