Hi,
During some recent testing I happened to be using the ETF on the DB410 as a sink for a quick trace test.
Running my usual script which does the following sequence via sysfs:- 1. enable sink. 2. enable source. 3. wait 4 .disable source 5. disable sink 6. read data from sink.
At step 6, the board hung, threw an abort and rebooted:- root@linaro-developer:~# [ 128.556367] Internal error: synchronous external abort: 96000010 [#1] SMP
Closer investigation shows this was occurring in tmc_etf_read_unprepare() in coresight-tmc-etf.c.
A quick check though my archive of previous kernels, shows that a 5.6-rc3 build from 27/02/20 does not show the issue, a 5.6-rc6 build from 20/03/20 does show the problem.
A look through the log for coresight-tmc-etf.c shows only one recent change to this file, a patch from Sai - commit 347adb0d6385, on 20/05/20 - to tmc_etf_read_prepare() - which is a couple of months after the issue first arises. Interestingly, if I replicate the change made in this commit, to tmc_etf_read_unprepare(), then the problem disappears.
Obviously I can submit a patch to the 5.8-rc1 tree once that appears, assuming that this would not be simply masking a problem elsewhere.
Thoughts? Anyone see similar issues?
Regards
Mike