summaryrefslogtreecommitdiff
path: root/sys/dev/dm/dm_target_error.c
diff options
context:
space:
mode:
authorhaad <haad@NetBSD.org>2009-01-02 11:06:17 +0000
committerhaad <haad@NetBSD.org>2009-01-02 11:06:17 +0000
commit2a2e81e0f1d14b1b9113292e59feb95a431580fc (patch)
tree5f49a6d595000da3eef93fb5865e1067fabd76ab /sys/dev/dm/dm_target_error.c
parent894d2ad3b73a786b60c31d410d382683827e07c4 (diff)
Properly register dm_target_* modules with module framework.
Diffstat (limited to 'sys/dev/dm/dm_target_error.c')
-rw-r--r--sys/dev/dm/dm_target_error.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/dm/dm_target_error.c b/sys/dev/dm/dm_target_error.c
index ffcaf40c7e2..6e3bd9664b5 100644
--- a/sys/dev/dm/dm_target_error.c
+++ b/sys/dev/dm/dm_target_error.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dm_target_error.c,v 1.4 2008/12/21 00:59:39 haad Exp $ */
+/* $NetBSD: dm_target_error.c,v 1.5 2009/01/02 11:06:17 haad Exp $ */
/*
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -61,6 +61,9 @@ dm_target_error_modcmd(modcmd_t cmd, void *arg)
switch (cmd) {
case MODULE_CMD_INIT:
+ if ((r = module_hold("dm")) != 0)
+ return r;
+
if ((dmt = dm_target_lookup("error")) != NULL)
return EEXIST;
@@ -83,6 +86,8 @@ dm_target_error_modcmd(modcmd_t cmd, void *arg)
case MODULE_CMD_FINI:
r = dm_target_rem("error");
+ module_rele("dm"); /* release usage counter on dm module */
+
break;
case MODULE_CMD_STAT: