diff --git a/checkbox-support/checkbox_support/scripts/usb_read_write.py b/checkbox-support/checkbox_support/scripts/usb_read_write.py index 0668e8f10d..3aa2aa4cc0 100644 --- a/checkbox-support/checkbox_support/scripts/usb_read_write.py +++ b/checkbox-support/checkbox_support/scripts/usb_read_write.py @@ -167,9 +167,15 @@ def mount_usb_storage(partition): try: device_to_mount = os.path.join("/dev", partition) - # use pipe so I could hide message like - # "umount: /tmp/tmpjzwb6lys: not mounted" + + # Unmounting the folder ignoring any "not mounted" error messages. subprocess.call(["umount", FOLDER_TO_MOUNT], stderr=subprocess.PIPE) + + # Unmounting the device (e.g., "/dev/mmcblk0p1") to ensure the storage + # device is fully detached. This prevents issues with certain + # filesystem types like NTFS, which cannot be mounted multiple times. + subprocess.call(["umount", device_to_mount], stderr=subprocess.PIPE) + # mount the target device/partition # if the return code of the shell command is non-zero, # means something wrong.