Re: [PATCH v1 01/16] serial: max3100: Lock port->lock when calling uart_handle_cts_change()

From: Andy Shevchenko
Date: Tue Apr 02 2024 - 13:14:40 EST


On Tue, Apr 02, 2024 at 01:07:15PM -0400, Hugo Villeneuve wrote:
> On Tue, 2 Apr 2024 18:38:07 +0300
> Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> Hi Andy,
>
> > uart_handle_cts_change() has to be called with port lock taken,
> > Since we run it in a separate work, the lcok maybe not taken at
>
> lcok -> lock
>
> and possibly: "may not be taken" ?

Thanks, I'll fix this in case a new version is required.

> > the time of running. Make sure that it's taken by explicitly doing
> > that. Without it we got a splat:
> >
> > WARNING: CPU: 0 PID: 10 at drivers/tty/serial/serial_core.c:3491 uart_handle_cts_change+0xa6/0xb0
> > ...
> > Workqueue: max3100-0 max3100_work [max3100]
> > RIP: 0010:uart_handle_cts_change+0xa6/0xb0
> > ...
> > max3100_handlerx+0xc5/0x110 [max3100]
> > max3100_work+0x12a/0x340 [max3100]

--
With Best Regards,
Andy Shevchenko