Bug #2002

Updated by masterblaster over 2 years ago

Hi all,

the background: using dfly on an old laptop with not fully acpi compliant
chipset caused kernel panic, due to:

- double free in /sys/contrib/dev/acpica-unix/namespace/nspredef.c
- null pointer exception in AcpiReadBitRegister (fixed with commit
744f6957d487e57f1e5e6ed66c85a5601f48804f)

As the first problem has been already fixed in a later acpica release
(found in
http://git.moblin.org/cgit.cgi/acpica/commit/?id=235329a8f3056c9a7553e3a0a5ad43213384312b),
the only reasonable thing to me to do was an acpica release upgrade.

So i dared bringing in acpica 20110211:
https://github.com/randy1/DragonFlyBSD/commit/ea7ae20415c0af1882c4bcb40167443f4fae9d12

It's a big patch, but it's just a bring in of
acpica-unix-20110211.tar.gz with the least number of modifications to
compile.

It's still not usable anyway:
- absurd temp values reported (was the same in fbsd 6.3, seen in forums)
- on that laptop two GPEs cause an interrupt storm, slowing down the
system

Changes in /sys/dev/acpi are kept at a minimum to adapt to the new api
(btw simpler, but more fine grained), except new AcpiSetupGpeForWake(),
for what i followed fbsd 8.0 code

As i'm new to dfly, acpica, git(hub) i'm not sure if:
- i brought in all necessary stuff from tarball
- all things i brought in are really necessary
- my modifications in /sys/dev/acpi dir are meaningful at all

That's why i would be grateful if someone experienced could review the
patch and give feedback.

Further, patch unrelated feedback (coding style, git usage, ...) is
highly appreciated too.

Many thanks!

Back