summaryrefslogtreecommitdiff
path: root/alsactl/init_sysfs.c
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2019-11-20 13:20:39 +0100
committerJaroslav Kysela <perex@perex.cz>2019-11-25 18:01:32 +0100
commit3c740d90490abe64c86c667934ba5d990817b873 (patch)
treef4ee407155d284d422f2ce3455eca973f3d23ee0 /alsactl/init_sysfs.c
parentc9dc401264ad3c0b621f52e8098e7c1661c50cea (diff)
downloadalsa-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.c13
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;
}