diff --git a/etc/adb_keys.go b/etc/adb_keys.go
index 1bce2f1..a2df41c 100644
--- a/etc/adb_keys.go
+++ b/etc/adb_keys.go
@@ -37,7 +37,6 @@
 func (m *AdbKeysModule) GenerateAndroidBuildActions(ctx android.ModuleContext) {
 	productVariables := ctx.Config().ProductVariables()
 	if !(android.Bool(productVariables.Debuggable) && len(android.String(productVariables.AdbKeys)) > 0) {
-		m.Disable()
 		m.SkipInstall()
 		return
 	}
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index 87c6381..1e816a7 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -511,15 +511,15 @@
 			addStr("erofs_default_compressor", proptools.String(compressor))
 		}
 		if compressHints := f.properties.Erofs.Compress_hints; compressHints != nil {
-			addStr("erofs_default_compress_hints", android.PathForModuleSrc(ctx, *compressHints).String())
+			addPath("erofs_default_compress_hints", android.PathForModuleSrc(ctx, *compressHints))
 		}
 		if proptools.BoolDefault(f.properties.Erofs.Sparse, true) {
 			// https://source.corp.google.com/h/googleplex-android/platform/build/+/88b1c67239ca545b11580237242774b411f2fed9:core/Makefile;l=2292;bpv=1;bpt=0;drc=ea8f34bc1d6e63656b4ec32f2391e9d54b3ebb6b
 			addStr("erofs_sparse_flag", "-s")
 		}
-	}
-	// Raise an exception if the propfile contains erofs properties, but the fstype is not erofs
-	if fs := fsTypeStr(f.fsType(ctx)); fs != "erofs" && (f.properties.Erofs.Compressor != nil || f.properties.Erofs.Compress_hints != nil || f.properties.Erofs.Sparse != nil) {
+	} else if f.properties.Erofs.Compressor != nil || f.properties.Erofs.Compress_hints != nil || f.properties.Erofs.Sparse != nil {
+		// Raise an exception if the propfile contains erofs properties, but the fstype is not erofs
+		fs := fsTypeStr(f.fsType(ctx))
 		ctx.PropertyErrorf("erofs", "erofs is non-empty, but FS type is %s\n. Please delete erofs properties if this partition should use %s\n", fs, fs)
 	}
 
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index cd63dc2..ed0c390 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -45,6 +45,7 @@
 	ctx.BottomUp("fs_collect_deps", collectDepsMutator).MutatesGlobalState()
 }
 
+var fsDepsMutex = sync.Mutex{}
 var collectFsDepsOnceKey = android.NewOnceKey("CollectFsDeps")
 var depCandidatesOnceKey = android.NewOnceKey("DepCandidates")
 
@@ -80,12 +81,11 @@
 	}).(*[]string)
 
 	m := mctx.Module()
-	mutex := &sync.Mutex{}
 	if slices.Contains(*depCandidates, m.Name()) {
 		if installInSystem(mctx, m) {
-			mutex.Lock()
+			fsDepsMutex.Lock()
 			*fsDeps = append(*fsDeps, m.Name())
-			mutex.Unlock()
+			fsDepsMutex.Unlock()
 		}
 	}
 }
