macbook sleep now working

yesterday, starting with some pointers from mjg59, i tried to find the cause of my macbook crashing on wakeup from sleep.

i narrowed it down to the code which resumes the pci bridge. as it turns out, the kernel restores the pci configuration space by copying in the values it had before the suspend. it does this in a bad order though, and the card becomes enabled before it is fully configured.

reversing the order fixed the problem — sleep now works on the macbook.

benc has merged the fix into the dapper git tree and the changes will be available with the next dapper kernel release.

there are still two small problems (one with a very easy fix). the harder once is acpi. when returning from sleep a random irq9 is thrown with no handler registered causing all further irq9s to be disabled. this means no acpi events get reported. no idea how i’d start fixing this. please help.

macbook backlight control

today i got sick of my macbook backlight brightness controls not working in dapper and set out to do something about it. while sitting in ghazi’s with my good friend wolfgang, i set out to find and reverse engineer the apple kernel extension responsible for controlling the backlight brightness.

the result is that i have written an application to control the backlight on the macbook in linux.

the ubuntu dapper on the apple macbook page has been updated accordingly.