Patrick Wildt wrote: > acpivout_[gs]et_param don't know if they are being called by itself > or by someone else. I don't need to grab it again, I just need to > have it before calling an ACPI method. But when acpivout(4) calls > itself, it already has it, so taking it again would break it, as it's > non recursive. > > Since it's a global function pointer that hides the implementation, the > caller cannot just take the ACPI lock before calling ws_[gs]et_param. > The caller doesn't know that the implementation needs ACPI. On my X395 > the function set in ws_[gs]et_param have nothing to do with ACPI at all.
Can you release the lock before calling ws_set_param?