condition: fix device-tree firmware path
The path /sys/firmware/device-tree doesn't exist. This should be either /proc/device-tree or /sys/firmware/devicetree. The first path is only a link. So lets use the second path. See https://github.com/torvalds/linux/blob/v4.14/drivers/of/base.c#L218.
This commit is contained in:
committed by
Yu Watanabe
parent
b72e5d9d8e
commit
1037178acf
@@ -649,9 +649,9 @@ static int condition_test_firmware(Condition *c, char **env) {
|
||||
assert(c->type == CONDITION_FIRMWARE);
|
||||
|
||||
if (streq(c->parameter, "device-tree")) {
|
||||
if (access("/sys/firmware/device-tree/", F_OK) < 0) {
|
||||
if (access("/sys/firmware/devicetree/", F_OK) < 0) {
|
||||
if (errno != ENOENT)
|
||||
log_debug_errno(errno, "Unexpected error when checking for /sys/firmware/device-tree/: %m");
|
||||
log_debug_errno(errno, "Unexpected error when checking for /sys/firmware/devicetree/: %m");
|
||||
return false;
|
||||
} else
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user