Re: [PATCH v2 1/2] tty: serial: fsl_lpuart: move dma_request_chan()

From: Greg Kroah-Hartman
Date: Thu Mar 26 2020 - 10:32:42 EST


On Wed, Mar 25, 2020 at 06:05:16PM +0000, Leonard Crestez wrote:
> On 2020-03-25 11:07 AM, Michael Walle wrote:
> > Move dma_request_chan() out of the atomic context. First this call
> > should not be in the atomic context at all and second the
> > dev_info_once() may cause a hang because because the console takes this
> > spinlock, too.
> >
> > Fixes: 159381df1442f ("tty: serial: fsl_lpuart: fix DMA operation when using IOMMU")
> > Reported-by: Leonard Crestez <leonard.crestez@xxxxxxx>
> > Signed-off-by: Michael Walle <michael@xxxxxxxx>
> > ---
> > changes since v1:
> > - instead of just moving the dev_info_once() out of the spinlock protected
> > section, move the whole dma_request_chan(). Thanks Andy!
> >
> > I've tested this on my board. Andy, Leonard, can you double check it? For
> > all which are not aware, this deadlock happens only if you have the kernel
> > console output on the lpuart, so if someone wants to test it, make sure you
> > have something like console=ttyLP0,115200.
> >
> > drivers/tty/serial/fsl_lpuart.c | 36 +++++++++++++++++++++------------
> > 1 file changed, 23 insertions(+), 13 deletions(-)
>
> Tested-by: Leonard Crestez <leonard.crestez@xxxxxxx>
>
> Since the original commit only made it into next it might make sense to
> squash the commits in the tty tree.
>
> This way future bisections won't get stuck on a boot failure.

My tree does not rebase, sorry. And neither should any other public git
tree without really really good reasons.

thanks,

greg k-h