lms: Do {under,over}run checks even if LMS_RecvStream fails

Under failure, it could still be that stream status is updated, so let's
father that in all cases.

Change-Id: I4e2b8be06d2993db1bab233948a8ee774b8ac4ee
diff --git a/Transceiver52M/device/lms/LMSDevice.cpp b/Transceiver52M/device/lms/LMSDevice.cpp
index fa9e395..5e21894 100644
--- a/Transceiver52M/device/lms/LMSDevice.cpp
+++ b/Transceiver52M/device/lms/LMSDevice.cpp
@@ -534,6 +534,7 @@
 	for (i = 0; i<chans; i++) {
 		thread_enable_cancel(false);
 		rc = LMS_RecvStream(&m_lms_stream_rx[i], bufs[i], len, &rx_metadata, 100);
+		update_stream_stats(i, underrun, overrun);
 		if (rc != len) {
 			LOGC(DDEV, ALERT) << "LMS: Device receive timed out (" << rc << " vs exp " << len << ").";
 			thread_enable_cancel(true);
@@ -541,7 +542,6 @@
 		}
 		if (timestamp != (TIMESTAMP)rx_metadata.timestamp)
 			LOGC(DDEV, ALERT) << "chan "<< i << " recv buffer of len " << rc << " expect " << std::hex << timestamp << " got " << std::hex << (TIMESTAMP)rx_metadata.timestamp << " (" << std::hex << rx_metadata.timestamp <<") diff=" << rx_metadata.timestamp - timestamp;
-		update_stream_stats(i, underrun, overrun);
 		thread_enable_cancel(true);
 	}