This is really ugly. What's the story on this firmware? It soundsI think there is no defined standard for this. I have checked few
defective to me.
I think its safer to do this check.
Or is everybody that uses _DSM supposed to check before evaluating it?
E.g.,
if (!acpi_check_dsm(...))
return -EINVAL;
obj = acpi_evaluate_dsm(...);
If everybody is supposed to do this, it seems like the check part
should be moved into acpi_evaluate_dsm().