am a286480f: Fix the class_reset command

* commit 'a286480f56012abdb4ef4ddab1c19a5c2316b7b8':
  Fix the class_reset command
diff --git a/init/init.c b/init/init.c
index 7b4a963..d10ca47 100755
--- a/init/init.c
+++ b/init/init.c
@@ -315,7 +315,11 @@
         /* if the service has not yet started, prevent
          * it from auto-starting with its class
          */
-    svc->flags |= how;
+    if (how == SVC_RESET) {
+        svc->flags |= (svc->flags & SVC_RC_DISABLED) ? SVC_DISABLED : SVC_RESET;
+    } else {
+        svc->flags |= how;
+    }
 
     if (svc->pid) {
         NOTICE("service '%s' is being killed\n", svc->name);
diff --git a/init/init.h b/init/init.h
index 2d98c7c..a91d9d4 100644
--- a/init/init.h
+++ b/init/init.h
@@ -71,6 +71,7 @@
 #define SVC_CRITICAL    0x20  /* will reboot into recovery if keeps crashing */
 #define SVC_RESET       0x40  /* Use when stopping a process, but not disabling
                                  so it can be restarted with its class */
+#define SVC_RC_DISABLED 0x80  /* Remember if the disabled flag was set in the rc script */
 
 #define NR_SVC_SUPP_GIDS 12    /* twelve supplementary groups */
 
diff --git a/init/init_parser.c b/init/init_parser.c
index fa813b9..13c94eb 100644
--- a/init/init_parser.c
+++ b/init/init_parser.c
@@ -499,6 +499,7 @@
         break;
     case K_disabled:
         svc->flags |= SVC_DISABLED;
+        svc->flags |= SVC_RC_DISABLED;
         break;
     case K_ioprio:
         if (nargs != 3) {