diff options
Diffstat (limited to 'tools/perf/builtin-record.c')
-rw-r--r-- | tools/perf/builtin-record.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 10cf889c6d75..488779bc4c8d 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c | |||
@@ -391,7 +391,12 @@ try_again: | |||
391 | ui__warning("%s\n", msg); | 391 | ui__warning("%s\n", msg); |
392 | goto try_again; | 392 | goto try_again; |
393 | } | 393 | } |
394 | 394 | if ((errno == EINVAL || errno == EBADF) && | |
395 | pos->leader != pos && | ||
396 | pos->weak_group) { | ||
397 | pos = perf_evlist__reset_weak_group(evlist, pos); | ||
398 | goto try_again; | ||
399 | } | ||
395 | rc = -errno; | 400 | rc = -errno; |
396 | perf_evsel__open_strerror(pos, &opts->target, | 401 | perf_evsel__open_strerror(pos, &opts->target, |
397 | errno, msg, sizeof(msg)); | 402 | errno, msg, sizeof(msg)); |