|
@@ -284,13 +284,12 @@ static int pmu_aliases_parse(char *dir, struct list_head *head)
|
|
{
|
|
{
|
|
struct dirent *evt_ent;
|
|
struct dirent *evt_ent;
|
|
DIR *event_dir;
|
|
DIR *event_dir;
|
|
- int ret = 0;
|
|
|
|
|
|
|
|
event_dir = opendir(dir);
|
|
event_dir = opendir(dir);
|
|
if (!event_dir)
|
|
if (!event_dir)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
- while (!ret && (evt_ent = readdir(event_dir))) {
|
|
|
|
|
|
+ while ((evt_ent = readdir(event_dir))) {
|
|
char path[PATH_MAX];
|
|
char path[PATH_MAX];
|
|
char *name = evt_ent->d_name;
|
|
char *name = evt_ent->d_name;
|
|
FILE *file;
|
|
FILE *file;
|
|
@@ -306,17 +305,19 @@ static int pmu_aliases_parse(char *dir, struct list_head *head)
|
|
|
|
|
|
snprintf(path, PATH_MAX, "%s/%s", dir, name);
|
|
snprintf(path, PATH_MAX, "%s/%s", dir, name);
|
|
|
|
|
|
- ret = -EINVAL;
|
|
|
|
file = fopen(path, "r");
|
|
file = fopen(path, "r");
|
|
- if (!file)
|
|
|
|
- break;
|
|
|
|
|
|
+ if (!file) {
|
|
|
|
+ pr_debug("Cannot open %s\n", path);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
|
|
- ret = perf_pmu__new_alias(head, dir, name, file);
|
|
|
|
|
|
+ if (perf_pmu__new_alias(head, dir, name, file) < 0)
|
|
|
|
+ pr_debug("Cannot set up %s\n", name);
|
|
fclose(file);
|
|
fclose(file);
|
|
}
|
|
}
|
|
|
|
|
|
closedir(event_dir);
|
|
closedir(event_dir);
|
|
- return ret;
|
|
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|