From f6062dc33837e8af71a681695ae86bad72e0da2d Mon Sep 17 00:00:00 2001 From: Mahesh Salgaonkar Date: Thu, 21 Jan 2010 18:25:16 +0530 Subject: [PATCH] --- yaml --- r: 180109 b: refs/heads/master c: b23ff0e9330e4b11e18af984d50573598e10e7f9 h: refs/heads/master i: 180107: f1e0d334a927739af1876b8557d87c247153a81f v: v3 --- [refs] | 2 +- trunk/kernel/hw_breakpoint.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index e07df6681f5d..351e4d7e8dd7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7f5102ca4b8a8e598dbfa154322ea684bc98da96 +refs/heads/master: b23ff0e9330e4b11e18af984d50573598e10e7f9 diff --git a/trunk/kernel/hw_breakpoint.c b/trunk/kernel/hw_breakpoint.c index 50dbd5999588..c030ae657f20 100644 --- a/trunk/kernel/hw_breakpoint.c +++ b/trunk/kernel/hw_breakpoint.c @@ -296,6 +296,10 @@ int register_perf_hw_breakpoint(struct perf_event *bp) if (!bp->attr.disabled || !bp->overflow_handler) ret = arch_validate_hwbkpt_settings(bp, bp->ctx->task); + /* if arch_validate_hwbkpt_settings() fails then release bp slot */ + if (ret) + release_bp_slot(bp); + return ret; }