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