From: Prameela Rani Garnepudi <[email protected]>

In function usb_write_register_multiple, if any intermediate block transfer
is failed, further operations should be terminated. 'else' is removed, as
there is no significance for it after return.

Signed-off-by: Prameela Rani Garnepudi <[email protected]>
Signed-off-by: Amitkumar Karwar <[email protected]>
---
 drivers/net/wireless/rsi/rsi_91x_usb.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_usb.c 
b/drivers/net/wireless/rsi/rsi_91x_usb.c
index 8eb7407..634f726 100644
--- a/drivers/net/wireless/rsi/rsi_91x_usb.c
+++ b/drivers/net/wireless/rsi/rsi_91x_usb.c
@@ -306,11 +306,12 @@ int rsi_usb_write_register_multiple(struct rsi_hw 
*adapter,
                        rsi_dbg(ERR_ZONE,
                                "Reg write failed with error code :%d\n",
                                status);
-               } else {
-                       count -= transfer;
-                       data += transfer;
-                       addr += transfer;
+                       kfree(buf);
+                       return status;
                }
+               count -= transfer;
+               data += transfer;
+               addr += transfer;
        }
 
        kfree(buf);
-- 
2.7.4

Reply via email to