Re: [PATCH 01/18] serial: sc16is7xx: fix segfault when removing driver

From: Andy Shevchenko
Date: Wed Dec 20 2023 - 10:38:23 EST


On Wed, Dec 20, 2023 at 05:34:29PM +0200, Andy Shevchenko wrote:
> On Tue, Dec 19, 2023 at 12:18:45PM -0500, Hugo Villeneuve wrote:
> > From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>

...

> > + dev_set_drvdata(dev, NULL);
>
> I believe this is wrong approach to fix the issue as this one is prone
> to be cleaned up in the future as we don't do this call explicitly for
> the past ~15 years.

On top of that the ->remove() is not the only uart_remove_one_port() call.
It has a lot of other stuff to go with.

It seems that ->remove() doesn't check the bit in &sc16is7xx_lines, that
might be the proper fix for the issue you have.

--
With Best Regards,
Andy Shevchenko