diff options
Diffstat (limited to 'tools/perf/util/probe-event.c')
| -rw-r--r-- | tools/perf/util/probe-event.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index 28eb1417cb2a..94a717bf007d 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c @@ -495,9 +495,11 @@ static int try_to_find_probe_trace_events(struct perf_probe_event *pev,  	}  	if (ntevs == 0)	{	/* No error but failed to find probe point. */ -		pr_warning("Probe point '%s' not found.\n", +		pr_warning("Probe point '%s' not found in debuginfo.\n",  			   synthesize_perf_probe_point(&pev->point)); -		return -ENOENT; +		if (need_dwarf) +			return -ENOENT; +		return 0;  	}  	/* Error path : ntevs < 0 */  	pr_debug("An error occurred in debuginfo analysis (%d).\n", ntevs); @@ -2050,9 +2052,11 @@ static int write_probe_trace_event(int fd, struct probe_trace_event *tev)  	pr_debug("Writing event: %s\n", buf);  	if (!probe_event_dry_run) {  		ret = write(fd, buf, strlen(buf)); -		if (ret <= 0) +		if (ret <= 0) { +			ret = -errno;  			pr_warning("Failed to write event: %s\n",  				   strerror_r(errno, sbuf, sizeof(sbuf))); +		}  	}  	free(buf);  	return ret; | 
