]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
usb: misc: ftdi-elan: fix duplicated code for different branches
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Sun, 13 Aug 2017 01:12:32 +0000 (20:12 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Aug 2017 09:17:58 +0000 (11:17 +0200)
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 <gustavo@embeddedor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/ftdi-elan.c

index c45904f08274de2c54b6d0c54fbc5215655d56b3..424ff12f3b51fe9cf66ae5e34a194bb78df38161 100644 (file)
@@ -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);