From 46cd17a3be28bd56ea47a874b52a1102beaba484 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 4 Jul 2014 14:32:35 +0200 Subject: score: Fix MrsP resource root change Use the root of the owner for the new root, since the owner may depend on a resource as well. --- cpukit/score/include/rtems/score/mrspimpl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cpukit/score/include/rtems/score/mrspimpl.h b/cpukit/score/include/rtems/score/mrspimpl.h index 2369d9de83..5efb619d0b 100644 --- a/cpukit/score/include/rtems/score/mrspimpl.h +++ b/cpukit/score/include/rtems/score/mrspimpl.h @@ -193,7 +193,10 @@ RTEMS_INLINE_ROUTINE MRSP_Status _MRSP_Wait_for_ownership( _Chain_Append_unprotected( &mrsp->Rivals, &rival.Node ); _Resource_Add_rival( &mrsp->Resource, &executing->Resource_node ); _Resource_Node_set_dependency( &executing->Resource_node, &mrsp->Resource ); - _MRSP_Set_root( &executing->Resource_node, owner ); + _MRSP_Set_root( + &executing->Resource_node, + _Resource_Node_get_root( owner ) + ); if ( timeout > 0 ) { _Watchdog_Initialize( -- cgit v1.2.3