It's known that nForce4 ADMA can in certain cases hang on error handling
and cause an MCE when we attempt to switch the controller into register
mode and read the ATA registers in order to diagnose the problem. The
MCE indicates the CPU timed out waiting for a register read from the
chipset on the HyperTranport bus. It's not presently known why this is,
or what we could do differently to avoid this problem. We're presently
hampered by lack of public information from NVIDIA on this controller to
fix this, so the ball is kind of in NVIDIA's court.
In the latest kernels sata_nv ADMA support is being disabled by default,
which may prevent this from happening. However, some odd hotplug/error
handling behavior was seen on these controllers before ADMA support was
implemented, so it may not entirely fix the problem.
--