Hi Borut, Please remove unused "flags" variable declaration. Erwan. On 6/4/19 3:55 PM, Erwan LE RAY wrote: > >> Hi Borut, >> >> Please add the following line in the commit message (before your >> sign-off) in a V2 of your patch: >> >> Fixes: 1bcda09d291081 ("serial: stm32: add support for RS485 hardware >> control mode") >> >> I'm OK with the patch itself. >> >> Erwan. >> >> >> Subject: [PATCH] serial: stm32: fix a recursive locking in >>> stm32_config_rs485 >>> Date: Tue, 4 Jun 2019 11:54:51 +0200 >>> From: Borut Seljak <borut.seljak@xxxxxxx> >>> CC: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>, Alexandre Torgue >>> <alexandre.torgue@xxxxxx>, Greg Kroah-Hartman >>> <gregkh@xxxxxxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, >>> borut.seljak@xxxxxxx, linux-serial@xxxxxxxxxxxxxxx, Jiri Slaby >>> <jslaby@xxxxxxxx>, linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx, >>> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx >>> >>> Remove spin_lock_irqsave in stm32_config_rs485, it cause recursive >>> locking. >>> Already locked in uart_set_rs485_config. >>> >>> Signed-off-by: Borut Seljak <borut.seljak@xxxxxxx> >>> --- >>> drivers/tty/serial/stm32-usart.c | 2 -- >>> 1 file changed, 2 deletions(-) >>> >>> diff --git a/drivers/tty/serial/stm32-usart.c >>> b/drivers/tty/serial/stm32-usart.c >>> index e8d7a7bb4339..da373a465f51 100644 >>> --- a/drivers/tty/serial/stm32-usart.c >>> +++ b/drivers/tty/serial/stm32-usart.c >>> @@ -107,7 +107,6 @@ static int stm32_config_rs485(struct uart_port >>> *port, >>> bool over8; >>> unsigned long flags; - unsigned long flags; >>> - spin_lock_irqsave(&port->lock, flags); >>> stm32_clr_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit)); >>> port->rs485 = *rs485conf; >>> @@ -147,7 +146,6 @@ static int stm32_config_rs485(struct uart_port >>> *port, >>> } >>> stm32_set_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit)); >>> - spin_unlock_irqrestore(&port->lock, flags); >>> return 0; >>> }