This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "OpenBTS' transceiver retro-fit".
The branch, master has been updated via d67bd603e9062a187bd1a33f6e2d3a6d9d8a6517 (commit) from 988a464d5d155b1eed0700f971da1e319275d092 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- http://cgit.osmocom.org/osmo-trx/commit/?id=d67bd603e9062a187bd1a33f6e2d3a6d...
commit d67bd603e9062a187bd1a33f6e2d3a6d9d8a6517 Author: Tom Tsou tom.tsou@ettus.com Date: Thu Jun 15 15:35:02 2017 -0700
transceiver: Fix POWEROFF crash on USRP2/N200/X300 devices
Upon issuing POWEROFF command to a running transceiver, UHD interfacing thread state may become undefined if the device is stopped with I/O threads still active. Bad behavior is device dependent with only network based USRP devices affected. USB based device thread behavior stops and shutdowns as expected. Tested with N200, X300, and B210.
Tested solutions include the following:
1. Set pthread_setcanceltype() with PTHREAD_CANCEL_ASYNCHRONOUS 2. Add sleep delay to allow I/O threads to timeout before stopping the device 3. Wait for I/O threads to join after cancellation before stopping the device
This patch resolves the issue by with the third approach. Number 1 is not guaranteed to always work with UHD internals as driver code may explicitly set thread parameters. Using sleep calls to fix order-of-operation issues is almost never a good idea.
Change-Id: Ib72ab98a27a02084b040319046c92d1c4157ae4c
-----------------------------------------------------------------------
Summary of changes: Transceiver52M/Transceiver.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
hooks/post-receive