(In reply to A. Chaud from comment #15) > Regarding the 0x535. It's a workaround for bug 31120. The lower half of > the register gets set to 0x7fff upon waking from suspend which disables the > backlight. This changes it back to a working value. There should be a way to save a value on suspend and restore that saved value on resume. BTW, I didn't check whether you're still doing this in the latest patch, but a few things I remember noticing: (a) foo | 0x80000000, not + (b) use ARRAY_SIZE, although I think you got rid of that array anyways