aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/misc/ftdi-elan.c
diff options
context:
space:
mode:
authorGustavo A. R. Silva <gustavo@embeddedor.com>2017-08-12 21:12:32 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-08-28 05:17:58 -0400
commitd527d1ea5d12aafbd0373b5e6547464c370ea18c (patch)
treeeda271803ef21635a71e39dbb7afc2daaf30e35c /drivers/usb/misc/ftdi-elan.c
parented62ca2f4f51c17841ea39d98c0c409cb53a3e10 (diff)
usb: misc: ftdi-elan: fix duplicated code for different branches
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>
Diffstat (limited to 'drivers/usb/misc/ftdi-elan.c')
-rw-r--r--drivers/usb/misc/ftdi-elan.c27
1 files changed, 1 insertions, 26 deletions
diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
index c45904f08274..424ff12f3b51 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,
857 target->actual = 0; 857 target->actual = 0;
858 target->non_null = (ed_length >> 15) & 0x0001; 858 target->non_null = (ed_length >> 15) & 0x0001;
859 target->repeat_number = (ed_length >> 11) & 0x000F; 859 target->repeat_number = (ed_length >> 11) & 0x000F;
860 if (ed_type == 0x02) { 860 if (ed_type == 0x02 || ed_type == 0x03) {
861 if (payload == 0 || target->abandoning > 0) { 861 if (payload == 0 || target->abandoning > 0) {
862 target->abandoning = 0; 862 target->abandoning = 0;
863 mutex_unlock(&ftdi->u132_lock); 863 mutex_unlock(&ftdi->u132_lock);
@@ -873,31 +873,6 @@ static char *have_ed_set_response(struct usb_ftdi *ftdi,
873 mutex_unlock(&ftdi->u132_lock); 873 mutex_unlock(&ftdi->u132_lock);
874 return b; 874 return b;
875 } 875 }
876 } else if (ed_type == 0x03) {
877 if (payload == 0 || target->abandoning > 0) {
878 target->abandoning = 0;
879 mutex_unlock(&ftdi->u132_lock);
880 ftdi_elan_do_callback(ftdi, target, 4 + ftdi->response,
881 payload);
882 ftdi->received = 0;
883 ftdi->expected = 4;
884 ftdi->ed_found = 0;
885 return ftdi->response;
886 } else {
887 ftdi->expected = 4 + payload;
888 ftdi->ed_found = 1;
889 mutex_unlock(&ftdi->u132_lock);
890 return b;
891 }
892 } else if (ed_type == 0x01) {
893 target->abandoning = 0;
894 mutex_unlock(&ftdi->u132_lock);
895 ftdi_elan_do_callback(ftdi, target, 4 + ftdi->response,
896 payload);
897 ftdi->received = 0;
898 ftdi->expected = 4;
899 ftdi->ed_found = 0;
900 return ftdi->response;
901 } else { 876 } else {
902 target->abandoning = 0; 877 target->abandoning = 0;
903 mutex_unlock(&ftdi->u132_lock); 878 mutex_unlock(&ftdi->u132_lock);