Refactor code in order to avoid identical code for different branches.

This issue was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <gust...@embeddedor.com>
---
 drivers/usb/misc/ftdi-elan.c | 27 +--------------------------
 1 file changed, 1 insertion(+), 26 deletions(-)

diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
index c45904f..424ff12 100644
--- a/drivers/usb/misc/ftdi-elan.c
+++ b/drivers/usb/misc/ftdi-elan.c
@@ -857,7 +857,7 @@ static char *have_ed_set_response(struct usb_ftdi *ftdi,
        target->actual = 0;
        target->non_null = (ed_length >> 15) & 0x0001;
        target->repeat_number = (ed_length >> 11) & 0x000F;
-       if (ed_type == 0x02) {
+       if (ed_type == 0x02 || ed_type == 0x03) {
                if (payload == 0 || target->abandoning > 0) {
                        target->abandoning = 0;
                        mutex_unlock(&ftdi->u132_lock);
@@ -873,31 +873,6 @@ static char *have_ed_set_response(struct usb_ftdi *ftdi,
                        mutex_unlock(&ftdi->u132_lock);
                        return b;
                }
-       } else if (ed_type == 0x03) {
-               if (payload == 0 || target->abandoning > 0) {
-                       target->abandoning = 0;
-                       mutex_unlock(&ftdi->u132_lock);
-                       ftdi_elan_do_callback(ftdi, target, 4 + ftdi->response,
-                                             payload);
-                       ftdi->received = 0;
-                       ftdi->expected = 4;
-                       ftdi->ed_found = 0;
-                       return ftdi->response;
-               } else {
-                       ftdi->expected = 4 + payload;
-                       ftdi->ed_found = 1;
-                       mutex_unlock(&ftdi->u132_lock);
-                       return b;
-               }
-       } else if (ed_type == 0x01) {
-               target->abandoning = 0;
-               mutex_unlock(&ftdi->u132_lock);
-               ftdi_elan_do_callback(ftdi, target, 4 + ftdi->response,
-                                     payload);
-               ftdi->received = 0;
-               ftdi->expected = 4;
-               ftdi->ed_found = 0;
-               return ftdi->response;
        } else {
                target->abandoning = 0;
                mutex_unlock(&ftdi->u132_lock);
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to