My hardware is a VL-EPM-24EU (VersaLogic board w/ Z520PT). I've been experiencing system hard locking on X server shutdown with the EMGD. I'm using a custom embedded Linux running 18.104.22.168-rt31 but I've also reproduced the problem on a stock installation of Fedora 14. Initially I was using EMGD 1.5.15 but I upgraded to 22.214.171.1242 hoping the problem would go away (it didn't). The system hard locks on X server shutdown roughly 1 out of 200 times when running Fedora 14. When running my custom distro with PREEMPT_RT turned on the problems seems to happen roughly 10 times more frequently.
I enabled debug prints in emgd-dkms and redirected console output to a serial port and I found the hardlock always happens when emgd-dkms is in the "Restore the GTT entries" for loop in reg_restore_gtt_plb().
I have a script which automates replication of the problem and I've replicated it at least 5 times on Fedora 14 and probably 50 on my custom Linux distro. On my custom Linux distro I tried enabling the NMI watchdog as well as sending SysRq commands as far as I can tell the system is completely dead at this point.
I even went as far as disabling interrupts with raw_local_irq_save/restore around the Restore GTT entries for loop. This didn't seem to help at all.
Here is the console output from one of the occasions that the problem occurred on Fedora 14: