Comment 13 for bug 1258655

Kevin DuBois (kdub) wrote :

I've been able to avert the problem on mako by patching powerd. Currently cooking up a patch to propose to powerd that works in the generic case. The root of the problem was that devices with early suspend were turning mir on and off when they did not guarantee the framebuffer was in a usable state. The fix takes the form of ensuring thread safety around the display state in the different threads in powerd's src/display.c

when mir was turned on before the FB was available, (or when mir was turned off after the FB had been made unavailable) mir would fail with an error. my comment in #9 about mir/unity-mir being robustified against double on calls does not need to be done now, as fixing the locking also prevented ever being able to send 'double on' calls from being sent