Thank you both for the quirks series and the ACPI mutex locking, I have combined both in my github fork.
@jubnut I added a Co-developed-by for your e-mail address, your original commit unfortunately did not contain
Edit: currently untested, I will hopefully find some time tomorrow.
This is awesome news! Here’s hoping for the best with testing. If I wanted to test this myself, would I be able to?
Yes. Something like:
# setup for building modules (in Debian/Ubuntu land):
sudo apt install build-essential
sudo apt install linux-headers-$(uname -r)
# build and install new modules:
git clone https://github.com/walshb/framework_linux_ec
sudo make insmod
Edit: this only installs the modules in memory, so they will not be running after a reboot. See the README.md for more information.
Edit 2: Builds and installs fine with kernel >= 6.5. I’ve built successfully on a different machine with kernel == 6.2.0. I doubt it will build on kernels before 6.0.
Update: I’ve been running ectool in a tight loop to test, and after a few hundred iterations it would read incorrect data from the EC.
I found a place in the upstream Linux kernel that was missing a lock. Fixed, and pushed to github.
Looks a lot better now. Currently at 85K runs of ectool, and no errors.
@jubnut I tested your patch and so far didn’t experience this annoying error again. Thanks for your great work.
Another update: I have rebased my changes upon the AMD Framework code from @DHowett , and pushed to the github repo I mentioned above.
So now the modules should work with AMD-powered Framework laptops.