diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2017-04-11 12:30:02 +0200 |
---|---|---|
committer | Daniel Hellstrom <daniel@gaisler.com> | 2017-05-14 12:31:58 +0200 |
commit | 9154155110c97b3899aa9825153732f49c11ee53 (patch) | |
tree | 2b577d547b65b230efb4cf0d603dda9a8322fec0 /testsuites | |
parent | leon, grcan: split hw_stop() into hw and sw stop (diff) | |
download | rtems-9154155110c97b3899aa9825153732f49c11ee53.tar.bz2 |
leon, grcan: semaphore reset count required after flushing
It is also required to use semaphore release instead of flush when stopping
or on BUSOFF/AHBERR condition. Otherwise a task just about to wait
(taking the semaphore) could end up locked because the semaphore count is
still the same.
There was previously a scenario where the semaphore flush would not always make
semaphore obtain to return in case of BUSOFF, AHBERROR or grcan_stop. It has to
do with the rtems_semaphore_flush() not releasing the semaphore but just aborts
any _current_ waiter.
Diffstat (limited to 'testsuites')
0 files changed, 0 insertions, 0 deletions