CMSIS-DAP: DAP_XXX_Transfer() counts too much in case of break in the first loop (#1592)

diff --git a/CMSIS/DAP/Firmware/Source/DAP.c b/CMSIS/DAP/Firmware/Source/DAP.c
index 606917e..d8e7bba 100644
--- a/CMSIS/DAP/Firmware/Source/DAP.c
+++ b/CMSIS/DAP/Firmware/Source/DAP.c
@@ -712,7 +712,8 @@
 
   request_count = *request++;
 
-  for (; request_count != 0U; request_count--) {
+  while (request_count != 0) {
+    request_count--;
     request_value = *request++;
     if ((request_value & DAP_TRANSFER_RnW) != 0U) {
       // Read register
@@ -893,7 +894,8 @@
     }
   }
 
-  for (; request_count != 0U; request_count--) {
+  while (request_count != 0) {
+    request_count--;
     // Process canceled requests
     request_value = *request++;
     if ((request_value & DAP_TRANSFER_RnW) != 0U) {
@@ -986,7 +988,8 @@
 
   request_count = *request++;
 
-  for (; request_count != 0U; request_count--) {
+  while (request_count != 0) {
+    request_count--;
     request_value = *request++;
     request_ir = (request_value & DAP_TRANSFER_APnDP) ? JTAG_APACC : JTAG_DPACC;
     if ((request_value & DAP_TRANSFER_RnW) != 0U) {
@@ -1163,7 +1166,8 @@
     }
   }
 
-  for (; request_count != 0U; request_count--) {
+  while (request_count != 0) {
+    request_count--;
     // Process canceled requests
     request_value = *request++;
     if ((request_value & DAP_TRANSFER_RnW) != 0U) {