diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-07-04 14:32:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-07-04 14:52:16 +0200 |
commit | 46cd17a3be28bd56ea47a874b52a1102beaba484 (patch) | |
tree | f415ded08ff65cd3cf46e1773eaa820e6c861e1b | |
parent | score: PR2183: Fix context switch on SMP (diff) | |
download | rtems-46cd17a3be28bd56ea47a874b52a1102beaba484.tar.bz2 |
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.
-rw-r--r-- | cpukit/score/include/rtems/score/mrspimpl.h | 5 |
1 files changed, 4 insertions, 1 deletions
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( |