summaryrefslogtreecommitdiff
path: root/wait_for_sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'wait_for_sysfs.c')
-rw-r--r--wait_for_sysfs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/wait_for_sysfs.c b/wait_for_sysfs.c
index e7eed441ee..91a2b6b628 100644
--- a/wait_for_sysfs.c
+++ b/wait_for_sysfs.c
@@ -99,6 +99,12 @@ int main(int argc, char *argv[], char *envp[])
snprintf(filename, SYSFS_PATH_MAX-1, "%s%s", sysfs_mnt_path, devpath);
filename[SYSFS_PATH_MAX-1] = '\0';
+ /* skip bad events where we get no device for the class */
+ if (strncmp(devpath, "/class/", 7) == 0 && strchr(&devpath[7], '/') == NULL) {
+ dbg("no device name for '%s', bad event", devpath);
+ goto exit;
+ }
+
/* open the class device we are called for */
class_dev = open_class_device_wait(filename);
if (!class_dev) {