Change timeout value to 5sec when get object 98/306198/1 accepted/tizen_9.0_unified accepted/tizen_unified accepted/tizen_unified_dev accepted/tizen_unified_toolchain accepted/tizen_unified_x tizen tizen_9.0 accepted/tizen/9.0/unified/20241030.232239 accepted/tizen/unified/20240219.160410 accepted/tizen/unified/dev/20240620.010834 accepted/tizen/unified/toolchain/20240311.070028 accepted/tizen/unified/x/20240220.150028 tizen_9.0_m2_release
authorJihoon Jung <jh8801.jung@samsung.com>
Mon, 19 Feb 2024 01:20:56 +0000 (10:20 +0900)
committerJihoon Jung <jh8801.jung@samsung.com>
Mon, 19 Feb 2024 01:20:56 +0000 (10:20 +0900)
Change-Id: Ie3fee239ae82b50481c910cb834e3114179c0ed5
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
packaging/libmtp.spec
src/libmtp.c

index 7558ea4..a33953a 100644 (file)
@@ -3,7 +3,7 @@
 Name:       libmtp
 Summary:    Library for media transfer protocol (mtp)
 Version:    1.1.11
-Release:    15
+Release:    16
 Group:      Network & Connectivity/Other
 License:    LGPL-2.1
 Source0:    libmtp-%{version}.tar.gz
index 30917c4..4a139d2 100644 (file)
@@ -5247,13 +5247,22 @@ int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t *device,
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
   PTPObject *ob;
 
+  int oldtimeout;
+
+  get_usb_device_timeout(ptp_usb, &oldtimeout);
+  set_usb_device_timeout(ptp_usb, 5000);
+
+  LIBMTP_INFO("priv set timeout value : %d, now, set timeout value to 5 sec", oldtimeout);
+
   ret = ptp_object_want (params, id, PTPOBJECT_OBJECTINFO_LOADED, &ob);
   if (ret != PTP_RC_OK) {
     add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Get_File_To_File_Descriptor(): Could not get object info.");
+    set_usb_device_timeout(ptp_usb, oldtimeout);
     return -1;
   }
   if (ob->oi.ObjectFormat == PTP_OFC_Association) {
     add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Get_File_To_File_Descriptor(): Bad object format.");
+    set_usb_device_timeout(ptp_usb, oldtimeout);
     return -1;
   }
 
@@ -5271,6 +5280,8 @@ int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t *device,
   ptp_usb->current_transfer_callback = NULL;
   ptp_usb->current_transfer_callback_data = NULL;
 
+  set_usb_device_timeout(ptp_usb, oldtimeout);
+
   if (ret == PTP_ERROR_CANCEL) {
     add_error_to_errorstack(device, LIBMTP_ERROR_CANCELLED, "LIBMTP_Get_File_From_File_Descriptor(): Cancelled transfer.");
     return -1;