diff options
author | Jaroslav Kysela <perex@perex.cz> | 2019-11-20 13:20:39 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2019-11-25 18:01:32 +0100 |
commit | 3c740d90490abe64c86c667934ba5d990817b873 (patch) | |
tree | f4ee407155d284d422f2ce3455eca973f3d23ee0 /alsactl/init_sysfs.c | |
parent | c9dc401264ad3c0b621f52e8098e7c1661c50cea (diff) | |
download | alsa-utils-3c740d90490abe64c86c667934ba5d990817b873.tar.gz |
alsactl: sysfs - add /sys/kernel/uevent_seqnum check to init
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'alsactl/init_sysfs.c')
-rw-r--r-- | alsactl/init_sysfs.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/alsactl/init_sysfs.c b/alsactl/init_sysfs.c index 5c789b6..57ef615 100644 --- a/alsactl/init_sysfs.c +++ b/alsactl/init_sysfs.c @@ -34,6 +34,8 @@ static int sysfs_init(void) const char *env; char sysfs_test[PATH_SIZE]; + INIT_LIST_HEAD(&attr_list); + env = getenv("SYSFS_PATH"); if (env) { strlcpy(sysfs_path, env, sizeof(sysfs_path)); @@ -43,13 +45,16 @@ static int sysfs_init(void) dbg("sysfs_path='%s'", sysfs_path); strlcpy(sysfs_test, sysfs_path, sizeof(sysfs_test)); - strlcat(sysfs_test, "/kernel/uevent_helper", sizeof(sysfs_test)); + strlcat(sysfs_test, "/kernel/uevent_seqnum", sizeof(sysfs_test)); if (access(sysfs_test, F_OK)) { - error("sysfs path '%s' is invalid\n", sysfs_path); - return -errno; + strlcpy(sysfs_test, sysfs_path, sizeof(sysfs_test)); + strlcat(sysfs_test, "/kernel/uevent_helper", sizeof(sysfs_test)); + if (access(sysfs_test, F_OK)) { + error("sysfs path '%s' is invalid", sysfs_path); + return -errno; + } } - INIT_LIST_HEAD(&attr_list); return 0; } |