chirping78 commented on PR #10496: URL: https://github.com/apache/nuttx/pull/10496#issuecomment-1761498868
@masayuki2009 Since when the issue is reproduced, the system will hang and can't use `trace dump` command, so I made a homemade trace buffer to save `up_irq_save` / `up_irq_restore` call. And after the issue is reproduced, I use jtag to dump the trace buffer. Then I really find something in the trace: there are some directly `up_irq_save` / `up_irq_restore` call in the chip vendor code. Since I can't post the vendor code here, I modified the smp tesing code to simulate the scenario. https://github.com/chirping78/nuttx-apps/commit/c6dbb0aa0d43d16e636954518b1eb4d6a8f67804 You can try this modified smp testing on a smp board in case you have, to see whether it can reproduce? You can see that the problem is caused by mixed using `up_irq_save` and `enter_critical_section`. Is this a permitted pattern? - if it is, then this PR is needed to fix up. - if it isn't, the this PR is not needed. We must use only `enter_critical_section`, instead of `up_irq_save` in smp case? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org