diff --git a/sys/cddl/dev/profile/profile.c b/sys/cddl/dev/profile/profile.c index 42753393a33..677c7543795 100644 --- a/sys/cddl/dev/profile/profile.c +++ b/sys/cddl/dev/profile/profile.c @@ -57,6 +57,8 @@ #include #include +#include + #define PROF_NAMELEN 15 #define PROF_PROFILE 0 @@ -245,12 +247,15 @@ profile_probe(profile_probe_t *prof, hrtime_t late) if (frame != NULL) { if (TRAPF_USERMODE(frame)) upc = TRAPF_PC(frame); - else + else { pc = TRAPF_PC(frame); + td->t_dtrace_trapframe = frame; + } } else if (TD_IS_IDLETHREAD(td)) pc = (uintfptr_t)&cpu_idle; dtrace_probe(prof->prof_id, pc, upc, late, 0, 0); + td->t_dtrace_trapframe = NULL; } static void