diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c b/target/linux/generic/files/drivers/net/phy/swconfig.c
index c30deb9fd10717d009a5411e114c9a121ea75ff7..c043ee46494eb566e945f7b37fb6900626cdb90f 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig.c
+++ b/target/linux/generic/files/drivers/net/phy/swconfig.c
@@ -1121,13 +1121,12 @@ swconfig_init(void)
 		if (err)
 			goto unregister;
 	}
-
-	return 0;
 #else
 	err = genl_register_family_with_ops(&switch_fam, swconfig_ops);
 	if (err)
-		goto unregister;
+		return err;
 #endif
+	return 0;
 
 unregister:
 	genl_unregister_family(&switch_fam);