The function m_can_runtime_resume() is getting recursively called from m_can_class_resume(). This results in a lock up. We need not call m_can_class_resume() during m_can_runtime_resume().
Unified · Split
| @@ -166,8 +166,6 @@ static int __maybe_unused m_can_runtime_resume(struct device *dev) · 165 unmodified lines | |||
| 166 | if (err) | 166 | if (err) |
| 167 | clk_disable_unprepare(mcan_class->hclk); | 167 | clk_disable_unprepare(mcan_class->hclk); |
| 168 | 168 | ||
| 169 | m_can_class_resume(dev); | ||
| 170 | |||
| 171 | return err; | 169 | return err; |
| 172 | } | 170 | } |
| 173 | 171 | ||