Do not unconditionally remove MTP storage on unmount

* It is not necessary to Remove_MTP_Storage() for a partition if an
  MTP_Storage_ID has not been assigned.
* The hack to force-set tw_mtp_enabled=1 should no longer be necessary
  now that we're checking whether MTP really needs to be disabled for
  a volume before running Disable_MTP().

Change-Id: I1b7233eedd9da7c6be0c67fc60243f3837105173
diff --git a/partition.cpp b/partition.cpp
index 5cf0179..8832909 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -1318,7 +1318,7 @@
 		if (never_unmount_system == 1 && Mount_Point == "/system")
 			return true; // Never unmount system if you're not supposed to unmount it
 
-		if (Is_Storage)
+		if (Is_Storage && MTP_Storage_ID > 0)
 			PartitionManager.Remove_MTP_Storage(MTP_Storage_ID);
 
 		if (!Symlink_Mount_Point.empty())
diff --git a/twrp.cpp b/twrp.cpp
index f0e572c..3d0a375 100644
--- a/twrp.cpp
+++ b/twrp.cpp
@@ -289,13 +289,6 @@
 	}
 
 	// Read the settings file
-#ifdef TW_HAS_MTP
-	// We unmount partitions sometimes during early boot which may override
-	// the default of MTP being enabled by auto toggling MTP off. This
-	// will force it back to enabled then get overridden by the settings
-	// file, assuming that an entry for tw_mtp_enabled is set.
-	DataManager::SetValue("tw_mtp_enabled", 1);
-#endif
 	DataManager::ReadSettingsFile();
 	PageManager::LoadLanguage(DataManager::GetStrValue("tw_language"));
 	GUIConsole::Translate_Now();