This patch Removes an unneeded do while loop which
sent a control message to a usb device. In this case,
the loop only executed once because usRetries is
initialized to zero, and after the first iteration
this variable will be 1. Therefore, the statement:
"usRetries < MAX_RDM_WRM_RETIRES" will evaluate to
false causing the do while statement to execute only
once because MAX_RDM_WRM_RETIRES is equal to 1.

Signed-off-by: Kevin McKinney <[email protected]>
---
 drivers/staging/bcm/InterfaceMisc.c |   31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/bcm/InterfaceMisc.c 
b/drivers/staging/bcm/InterfaceMisc.c
index eadb45b..2c57ffe 100644
--- a/drivers/staging/bcm/InterfaceMisc.c
+++ b/drivers/staging/bcm/InterfaceMisc.c
@@ -29,24 +29,19 @@ int InterfaceRDM(PS_INTERFACE_ADAPTER psIntfAdapter,
        }
        psIntfAdapter->psAdapter->DeviceAccess = TRUE;
 
-       do {
-               bytes = usb_control_msg(psIntfAdapter->udev,
-                                       usb_rcvctrlpipe(psIntfAdapter->udev, 0),
-                                       0x02,
-                                       0xC2,
-                                       (addr & 0xFFFF),
-                                       ((addr >> 16) & 0xFFFF),
-                                       buff,
-                                       len,
-                                       5000);
-
-               usRetries++;
-               if (-ENODEV == bytes) {
-                       psIntfAdapter->psAdapter->device_removed = TRUE;
-                       break;
-               }
-
-       } while ((bytes < 0) && (usRetries < MAX_RDM_WRM_RETIRES));
+       bytes = usb_control_msg(psIntfAdapter->udev,
+                               usb_rcvctrlpipe(psIntfAdapter->udev, 0),
+                               0x02,
+                               0xC2,
+                               (addr & 0xFFFF),
+                               ((addr >> 16) & 0xFFFF),
+                               buff,
+                               len,
+                               5000);
+
+       usRetries++;
+       if (-ENODEV == bytes)
+               psIntfAdapter->psAdapter->device_removed = TRUE;
 
        if (bytes < 0)
                BCM_DEBUG_PRINT(psIntfAdapter->psAdapter, DBG_TYPE_OTHERS, RDM, 
DBG_LVL_ALL, "RDM failed status :%d, retires :%d", bytes, usRetries);
-- 
1.7.9.5

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to