Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 707aeea1 authored by Borut Seljak's avatar Borut Seljak Committed by Greg Kroah-Hartman
Browse files

serial: stm32: fix a recursive locking in stm32_config_rs485



Remove spin_lock_irqsave in stm32_config_rs485, it cause recursive locking.
Already locked in uart_set_rs485_config.

Fixes: 1bcda09d ("serial: stm32: add support for RS485 hardware control mode")
Signed-off-by: default avatarBorut Seljak <borut.seljak@t-2.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 87bb008c
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -105,9 +105,7 @@ static int stm32_config_rs485(struct uart_port *port,
	struct stm32_usart_config *cfg = &stm32_port->info->cfg;
	u32 usartdiv, baud, cr1, cr3;
	bool over8;
	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 +145,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;
}