lms: fix LMS_StartStream() handling for multiple channels

LMS_StartStream() (in LMSDevice::start()) was moved to separate loop. It
is because LMS_SetupStream() would fail for second channel if streaming
has already been started (LMS_StartStream()) for single channel
configuration.

Change-Id: I6704bb92864aa81417507c4ae24a22f41dc529c1
This commit is contained in:
Zydrunas Tamosevicius 2018-06-12 00:29:16 +02:00 committed by Harald Welte
parent fd268b6f5a
commit 0494d05916
1 changed files with 5 additions and 0 deletions

View File

@ -205,6 +205,7 @@ bool LMSDevice::start()
unsigned int i;
/* configure the channels/streams */
for (i=0; i<chans; i++) {
if (LMS_EnableChannel(m_lms_dev, LMS_CH_RX, i, true) < 0)
return false;
@ -235,7 +236,11 @@ bool LMSDevice::start()
if (LMS_SetupStream(m_lms_dev, &m_lms_stream_tx[i]) < 0)
return false;
}
/* now start the streams in a second loop, as we can no longer call
* LMS_SetupStream() after LMS_StartStream() of the first stream */
for (i = 0; i < chans; i++) {
if (LMS_StartStream(&m_lms_stream_rx[i]) < 0)
return false;