summaryrefslogtreecommitdiff
path: root/samples/damon
diff options
context:
space:
mode:
Diffstat (limited to 'samples/damon')
-rw-r--r--samples/damon/mtier.c11
-rw-r--r--samples/damon/prcl.c11
-rw-r--r--samples/damon/wsse.c15
3 files changed, 23 insertions, 14 deletions
diff --git a/samples/damon/mtier.c b/samples/damon/mtier.c
index beaf36657dea..775838a23d93 100644
--- a/samples/damon/mtier.c
+++ b/samples/damon/mtier.c
@@ -193,8 +193,6 @@ static void damon_sample_mtier_stop(void)
damon_destroy_ctx(ctxs[1]);
}
-static bool init_called;
-
static int damon_sample_mtier_enable_store(
const char *val, const struct kernel_param *kp)
{
@@ -208,7 +206,7 @@ static int damon_sample_mtier_enable_store(
if (enabled == is_enabled)
return 0;
- if (!init_called)
+ if (!damon_initialized())
return 0;
if (enabled) {
@@ -225,7 +223,12 @@ static int __init damon_sample_mtier_init(void)
{
int err = 0;
- init_called = true;
+ if (!damon_initialized()) {
+ if (enabled)
+ enabled = false;
+ return -ENOMEM;
+ }
+
if (enabled) {
err = damon_sample_mtier_start();
if (err)
diff --git a/samples/damon/prcl.c b/samples/damon/prcl.c
index 0226652f94d5..b7c50f2656ce 100644
--- a/samples/damon/prcl.c
+++ b/samples/damon/prcl.c
@@ -122,8 +122,6 @@ static void damon_sample_prcl_stop(void)
}
}
-static bool init_called;
-
static int damon_sample_prcl_enable_store(
const char *val, const struct kernel_param *kp)
{
@@ -137,7 +135,7 @@ static int damon_sample_prcl_enable_store(
if (enabled == is_enabled)
return 0;
- if (!init_called)
+ if (!damon_initialized())
return 0;
if (enabled) {
@@ -154,7 +152,12 @@ static int __init damon_sample_prcl_init(void)
{
int err = 0;
- init_called = true;
+ if (!damon_initialized()) {
+ if (enabled)
+ enabled = false;
+ return -ENOMEM;
+ }
+
if (enabled) {
err = damon_sample_prcl_start();
if (err)
diff --git a/samples/damon/wsse.c b/samples/damon/wsse.c
index 21eaf15f987d..799ad4443943 100644
--- a/samples/damon/wsse.c
+++ b/samples/damon/wsse.c
@@ -102,8 +102,6 @@ static void damon_sample_wsse_stop(void)
}
}
-static bool init_called;
-
static int damon_sample_wsse_enable_store(
const char *val, const struct kernel_param *kp)
{
@@ -117,10 +115,10 @@ static int damon_sample_wsse_enable_store(
if (enabled == is_enabled)
return 0;
- if (enabled) {
- if (!init_called)
- return 0;
+ if (!damon_initialized())
+ return 0;
+ if (enabled) {
err = damon_sample_wsse_start();
if (err)
enabled = false;
@@ -134,7 +132,12 @@ static int __init damon_sample_wsse_init(void)
{
int err = 0;
- init_called = true;
+ if (!damon_initialized()) {
+ err = -ENOMEM;
+ if (enabled)
+ enabled = false;
+ }
+
if (enabled) {
err = damon_sample_wsse_start();
if (err)