MTP: add a new parameter for cancelEvents function

Currently, cancelEvents in MTP will cancel the requests
one by one, and it will check each response to confirm
success or failure. However, if kernel usb controller
driver got the cancel request, the driver will handle
all requests in the same endpoint so that the second
io_cancel in cancelEvents will be useless. This behavior
change start from kernel 5.x.

This patch will add a parameter to check whether kernel
usb controller driver uses the new behavior so that MTP
could cancel the requests correctly.

Bug: 181729410
Test: cancel a transmitting file and then check the MTP operation
Merged-In: I4e172fa62c297ac33b0c97c67f3f7baa817fd8bf
(cherry picked from commit 305e62ec197f65ebf29d79e8d03ea3b296b4e690)
Signed-off-by: sekaiacg <sekaiacg@gmail.com>
Change-Id: I8963d69b7b7fb6d6d8fe71c293551e2ab9f13470
2 files changed
tree: 724127563e2dc4ab4c9593d21f18cad6104836b5
  1. .github/
  2. adbbu/
  3. applypatch/
  4. attr/
  5. bmlutils/
  6. bootloader_message/
  7. crypto/
  8. dosfstools/
  9. edify/
  10. etc/
  11. exfat/
  12. fastboot/
  13. fb2png/
  14. flashutils/
  15. fonts/
  16. fuse/
  17. fuse_sideload/
  18. gpt/
  19. gui/
  20. injecttwrp/
  21. install/
  22. libblkid/
  23. libcrecovery/
  24. libmincrypt/
  25. libpixelflinger/
  26. libtar/
  27. minadbd/
  28. minui/
  29. minuitwrp/
  30. minzip/
  31. mmcutils/
  32. mtdutils/
  33. mtp/
  34. openaes/
  35. orscmd/
  36. otafault/
  37. otautil/
  38. ozip_decrypt/
  39. pigz/
  40. prebuilt/
  41. recovery_ui/
  42. recovery_utils/
  43. res/
  44. res-hdpi/
  45. res-mdpi/
  46. res-xhdpi/
  47. res-xxhdpi/
  48. res-xxxhdpi/
  49. scripts/
  50. sepolicy/
  51. simg2img/
  52. soong/
  53. tests/
  54. tools/
  55. twrpDigest/
  56. twrpinstall/
  57. twrpTarMain/
  58. uncrypt/
  59. update_verifier/
  60. updater/
  61. updater_sample/
  62. .clang-format
  63. .gitignore
  64. abx-functions.hpp
  65. Android.bp
  66. Android.mk
  67. BasePartition.cpp
  68. bootloader.h
  69. CleanSpec.mk
  70. data.cpp
  71. data.hpp
  72. exclude.cpp
  73. exclude.hpp
  74. find_file.cpp
  75. find_file.hpp
  76. fixContexts.cpp
  77. fixContexts.hpp
  78. fuse.h
  79. infomanager.cpp
  80. infomanager.hpp
  81. interlace-frames.py
  82. kernel_module_loader.cpp
  83. kernel_module_loader.hpp
  84. legacy_properties.h
  85. libaosprecovery_defaults.go
  86. METADATA
  87. mounts.c
  88. NOTICE
  89. openrecoveryscript.cpp
  90. openrecoveryscript.hpp
  91. OWNERS
  92. partition.cpp
  93. partitionmanager.cpp
  94. partitions.hpp
  95. PREUPLOAD.cfg
  96. progresstracking.cpp
  97. progresstracking.hpp
  98. README.md
  99. recovery-persist.cpp
  100. recovery-persist.rc
  101. recovery-refresh.cpp
  102. recovery-refresh.rc
  103. recovery.cpp
  104. recovery.h
  105. recovery_main.cpp
  106. recovery_ui.h
  107. startupArgs.cpp
  108. startupArgs.hpp
  109. tarWrite.c
  110. tarWrite.h
  111. TEST_MAPPING
  112. twcommon.h
  113. twrp-functions.cpp
  114. twrp-functions.hpp
  115. twrp.cpp
  116. twrpAdbBuFifo.cpp
  117. twrpAdbBuFifo.hpp
  118. twrpApex.cpp
  119. twrpApex.hpp
  120. twrpDigestDriver.cpp
  121. twrpDigestDriver.hpp
  122. twrpRepacker.cpp
  123. twrpRepacker.hpp
  124. twrpTar.cpp
  125. twrpTar.h
  126. twrpTar.hpp
  127. variables.h