Below are the patches I've sent to linux-kernel for public amusement, sometimes they can even be useful for someone out there...
Sis900 patches have a page all by themselves.
| Description | Kernel version | Status | Download |
|---|---|---|---|
| IrDA documentation | 2.6.5 | P | Download |
| Cumulative patch XFS (cvs 2003-12-01) and grsecurity (1.9.13) | 2.4.24 | N | Download |
| Move lock release to avoid sleep inside lock problem in 8139too | 2.6.0-test9 | I (2.6.1) | Download |
| Add power management (pmdisk) to sis900 network driver | 2.6.0-test9 | I (2.6.1) | Download |
| Add KERN_* prefixes to printk calls in various drivers/net files | 2.6.0-test2 | KJ - P | Download (tar.gz) |
| PCI id fixes and AGP support for i820 chipset (written by Nicolas Aspert, I've updated it to 2.4.17) |
2.4.17 | I | Download |
| Update for Intel chipsets in drivers/char/Config.in | 2.4.18 | I | Download |
Meaning of the Status column:
My laptop was an Asus L3100D, I made almost everything work, but I had to patch the kernel and change the ACPI DSDT table, since the one provided by Asus is bugged.
Also, for the Linux 'do-it-yourself' motto, I also had to add support for
suspend/resume to the network card (sis900) (see above for the patch).
UPDATE: the patch adds support for suspend/resume using Patrick Mochel's
pmdisk (the one that works best for me), but seems to do just nothing for swsusp.
The new BIOS release (0113a) from ASUS made the throttling states disappear
because of a new bug in the FADT table (it's called a feature, you know...).
Since ASUS have also removed all the old BIOS images from their site to prevent
clueless users from downgrading to that old buggy (err, working) BIOS, I had to
hack Linux ACPI to think it's reading a 3 instead of a 0 in the duty_width
record of the FADT table.
Resources: