damon_sample_mtier is assuming DAMON is ready to use in module_init
time, and uses its own hack to see if it is the time. Use
damon_initialized(), which is a way for seeing if DAMON is ready to be
used that is more reliable and better to maintain instead of the hack.
Signed-off-by: SeongJae Park <sj@kernel.org>
---
samples/damon/mtier.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 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)
--
2.39.5