Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

tty: can327: unify error paths in can327_ldisc_rx()

Create a label with can327_uart_side_failure() and spin unlock. And jump
there from all three fail paths.

Signed-off-by: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Cc: Max Staudt <max@enpas.org>
Cc: Wolfgang Grandegger <wg@grandegger.com>
Cc: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: linux-can@vger.kernel.org
Link: https://lore.kernel.org/r/20230810091510.13006-14-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jiri Slaby (SUSE) and committed by
Greg Kroah-Hartman
94b580e3 8d9526f9

+8 -14
+8 -14
drivers/net/can/can327.c
··· 905 905 if (fp && *fp++) { 906 906 netdev_err(elm->dev, 907 907 "Error in received character stream. Check your wiring."); 908 - 909 - can327_uart_side_failure(elm); 910 - 911 - spin_unlock_bh(&elm->lock); 912 - return; 908 + goto uart_failure; 913 909 } 914 910 915 911 /* Ignore NUL characters, which the PIC microcontroller may ··· 921 925 netdev_err(elm->dev, 922 926 "Received illegal character %02x.\n", 923 927 *cp); 924 - can327_uart_side_failure(elm); 925 - 926 - spin_unlock_bh(&elm->lock); 927 - return; 928 + goto uart_failure; 928 929 } 929 930 930 931 elm->rxbuf[elm->rxfill++] = *cp; ··· 934 941 netdev_err(elm->dev, 935 942 "Receive buffer overflowed. Bad chip or wiring? count = %i", 936 943 count); 937 - 938 - can327_uart_side_failure(elm); 939 - 940 - spin_unlock_bh(&elm->lock); 941 - return; 944 + goto uart_failure; 942 945 } 943 946 944 947 can327_parse_rxbuf(elm, first_new_char_idx); 948 + spin_unlock_bh(&elm->lock); 949 + 950 + return; 951 + uart_failure: 952 + can327_uart_side_failure(elm); 945 953 spin_unlock_bh(&elm->lock); 946 954 } 947 955