[CCing the regression list, as it should be in the loop for regressions: https://docs.kernel.org/admin-guide/reporting-regressions.html] Hi, Thorsten here, the Linux kernel's regression tracker. Top-posting for once, to make this easily accessible to everyone. Hmm, looks like there was not even a single reply to below regression report. But also seens Markus hasn't posted anything archived on Lore since about three weeks now, so he might be on vacation. Marc, do you might have an idea what's wrong with the culprit? Or do we expected Markus to be back in action soon? Ciao, Thorsten On 18.06.24 18:12, Matthias Schiffer wrote: > Hi Markus, > > we've found that recent kernels hang on the TI AM62x SoC (where no m_can interrupt is available and > thus the polling timer is used), always a few seconds after the CAN interfaces are set up. > > I have bisected the issue to commit a163c5761019b ("can: m_can: Start/Cancel polling timer together > with interrupts"). Both master and 6.6 stable (which received a backport of the commit) are > affected. On 6.6 the commit is easy to revert, but on master a lot has happened on top of that > change. > > As far as I can tell, the reason is that hrtimer_cancel() tries to cancel the timer synchronously, > which will deadlock when called from the hrtimer callback itself (hrtimer_callback -> m_can_isr -> > m_can_disable_all_interrupts -> hrtimer_cancel). > > I can try to come up with a fix, but I think you are much more familiar with the driver code. Please > let me know if you need any more information. > > Best regards, > Matthias > >