diff --git a/mtp/MtpServer.cpp b/mtp/MtpServer.cpp
index c044cad..66a6414 100755
--- a/mtp/MtpServer.cpp
+++ b/mtp/MtpServer.cpp
@@ -1078,8 +1078,10 @@
 		unlink(mSendObjectFilePath);
 		if (errno == ECANCELED)
 			result = MTP_RESPONSE_TRANSACTION_CANCELLED;
-		else
+		else {
+		    	MTPD("errno: %d\n", errno);
 			result = MTP_RESPONSE_GENERAL_ERROR;
+		}
 	}
 
 done:
@@ -1093,7 +1095,7 @@
 	mSendObjectHandle = kInvalidObjectHandle;
 	MTPD("result: %d\n", result);
 	mSendObjectFormat = 0;
-	return MTP_RESPONSE_OK;
+	return result;
 }
 
 static void deleteRecursive(const char* path) {
diff --git a/mtp/mtp_MtpServer.cpp b/mtp/mtp_MtpServer.cpp
index 9df564f..17facdd 100755
--- a/mtp/mtp_MtpServer.cpp
+++ b/mtp/mtp_MtpServer.cpp
@@ -123,7 +123,7 @@
 				int storageID = stores->at(i)->mtpid;
 				long reserveSpace = 1;
 				bool removable = false;
-				long maxFileSize = 1000000000L;
+				long maxFileSize = stores->at(i)->maxFileSize;
 				if (descriptionStr != "") {
 					MtpStorage* storage = new MtpStorage(storageID, &pathStr[0], &descriptionStr[0], reserveSpace, removable, maxFileSize, refserver);
 					server->addStorage(storage);
diff --git a/mtp/mtp_MtpServer.hpp b/mtp/mtp_MtpServer.hpp
index ce6b13c..3153e80 100755
--- a/mtp/mtp_MtpServer.hpp
+++ b/mtp/mtp_MtpServer.hpp
@@ -36,6 +36,7 @@
 	std::string display;
 	std::string mount;
 	int mtpid;
+	uint64_t maxFileSize;
 } storage;
 
 typedef std::vector<storage*> storages;
diff --git a/mtp/twrpMtp.cpp b/mtp/twrpMtp.cpp
index 9a7df5b..d9db424 100755
--- a/mtp/twrpMtp.cpp
+++ b/mtp/twrpMtp.cpp
@@ -107,11 +107,12 @@
 	return 0;
 }
 
-void twrpMtp::addStorage(std::string display, std::string path, int mtpid) {
+void twrpMtp::addStorage(std::string display, std::string path, int mtpid, uint64_t maxFileSize) {
 	s = new storage;
 	s->display = display;
 	s->mount = path;
 	s->mtpid = mtpid;
+	s->maxFileSize = maxFileSize;
 	MTPD("twrpMtp mtpid: %d\n", s->mtpid);
 	mtpstorages->push_back(s);
 }
diff --git a/mtp/twrpMtp.hpp b/mtp/twrpMtp.hpp
index f0d8f4b..3aaa964 100755
--- a/mtp/twrpMtp.hpp
+++ b/mtp/twrpMtp.hpp
@@ -36,7 +36,7 @@
 		twrpMtp(int debug_enabled /* = 0 */);
 		pthread_t threadserver(void);
 		pid_t forkserver(void);
-		void addStorage(std::string display, std::string path, int mtpid);
+		void addStorage(std::string display, std::string path, int mtpid, uint64_t maxFileSize);
 	private:
 		int start(void);
 		typedef int (twrpMtp::*ThreadPtr)(void);
