The following only affects 2.2 kernels.
Note that there is a bug somewhere that makes the netcard freeze the whole system when shutting down eth0. According to Martin Espenschied, this is a known issue, and can be fixed. When I know how, I'll put the information here. Till then, remember to sync your system before shutting down, and you should not miss any information. Remember my disclaimer in the Section called Disclaimer and scope though.
An ugly hack to resolve this might just be to NOT to shut down eth0 at shutdown/reboot. This can be done by editing the file /etc/init.d/network (or similar), and in the stop) case, just comment away the ifdown command, and add a phoney command, like this:
action "Shutting down interface $i" echo does_nothing # ./ifdown $i bootNote that this is a rather ugly hack, that won't actually solve the problem, it just hides it. The network won't go properly down until you reboot the machine. I really hope that somebody have a better fix on this later. Thanks to Doc Shipley for this tip.