Why don't you start investigating the problem?
One of my suggestions was to swap the order of sleep notifications/shutdown...
This code in VoodooPS2Controller.cpp:
Code:
// 2. Notify clients about the state change. Clients can issue
// synchronous requests thanks to the recursive lock.
// First Mouse, then Keyboard.
dispatchDriverPowerControl( kPS2C_DisableDevice, kDT_Mouse );
dispatchDriverPowerControl( kPS2C_DisableDevice, kDT_Keyboard );
To:
Code:
// 2. Notify clients about the state change. Clients can issue
// synchronous requests thanks to the recursive lock.
// First Keyboard, then Mouse.
dispatchDriverPowerControl( kPS2C_DisableDevice, kDT_Keyboard );
dispatchDriverPowerControl( kPS2C_DisableDevice, kDT_Mouse );
Note that that code may not even be reached, if the PS2 controller is generating spurious data when the lid is closed...
Which is why, I also requested keylogs when the lid was being closed.
The VoodooPS2 wiki page has a section for customizing the keyboard mapping and part of that is turning on the keylogger (using ioio).
My request was that someone turn on the logs, close the lid, then reply with the keylog data from the kernel log.
No one ever replied.