Hi Sascha, > I think this is a false positive. The i.MX UART driver makes sure that the console UART never uses DMA, so it shouldn't happen that the DMA driver issuing console messages calls back into the DMA driver. > > Could you give the following patch a test? Thank you for looking into this. I thought I had an idea of what was going on but it seems that was based on some wrong assumptions (I'm mostly a Linux user and not familiar with kernel code yet). I tested with your patch and it does indeed fix the issue on my machine. Note that I have been testing this in a similar way as you did. The log message which triggers this issue in practice is a rare occurrence on my system because of its condition, so I added a dev_warn_once() to sdma_update_channel_loop() just outside of the conditional, which fires as soon as some data is received through DMA. This consistently reproduces the lockdep warning without your patch, so I'm confident that the patch works. > I inserted a dev_info() into the imx-sdma driver and got said circular locking warning. With my patch applied it's gone. Nevertheless I would wait for Tims feedback and resend it with some more people on Cc. I never used lockdep_set_subclass() and I am not sure if it's legal to put it into the UART startup function like I did. Sounds good, could you submit the patch and keep me in cc? Thanks, Tim