On Fri, Apr 29, 2016 at 10:23:13AM +0200, yegorslists@xxxxxxxxxxxxxx wrote: > From: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> > > uart_handle_cts_change should be called with port->lock held. And for > this to be save you must also disable irqs. > > CC: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> > Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> > --- > Changes: > v3: send this patch separately from the 8259 mctrl_gpio series > and improve commit wording (Uwe Kleine-König) > > drivers/tty/serial/serial_mctrl_gpio.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/tty/serial/serial_mctrl_gpio.c b/drivers/tty/serial/serial_mctrl_gpio.c > index bb5e4f9..85b77ba 100644 > --- a/drivers/tty/serial/serial_mctrl_gpio.c > +++ b/drivers/tty/serial/serial_mctrl_gpio.c > @@ -143,6 +143,9 @@ static irqreturn_t mctrl_gpio_irq_handle(int irq, void *context) > struct uart_port *port = gpios->port; > u32 mctrl = gpios->mctrl_prev; > u32 mctrl_diff; > + unsigned long flags; > + > + spin_lock_irqsave(&port->lock, flags); > > mctrl_gpio_get(gpios, &mctrl); > mctrl_gpio_get might sleep, right? So better move the lock to after mctrl_gpio_get. If you change this you can add my Ack. Sorry that I didn't notice during v2. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html