Mutex release not reverting to blocked task

Hi all,
Have an issue with a priority inverted task not reverting, when I believe it should.

So here we have a task ‘AntennaController’ (Priority 8) wating on a mutex that task ‘HeartbeatMonitor’ (Priority 5) has.
HM’s priority increase to 8, as it should, runs, then releases the mutex… but execution doesn’t revert to task AC.
Tracearlyser even shows that AC is ready to run.

So, what’s going on here?

Thanks, Paul.

Does your HeartbeatMonitor still hold a Mutex? FreeRTOS has a somewhat simplified priority inheritance where tasks don’t drop in priority until they give up ALL their Mutexes. This avoids a lot of extra book-keeping and resource tracking that a more accurate system would need.

Yes it does. OK, I see, so that’s the issue then.
That’s definitely something I’ll need to consider in other areas too then!
Thank you!