aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/lib/usrp/cores/rx_vita_core_3000.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/host/lib/usrp/cores/rx_vita_core_3000.cpp b/host/lib/usrp/cores/rx_vita_core_3000.cpp
index 8a20e637b..4b09f75fd 100644
--- a/host/lib/usrp/cores/rx_vita_core_3000.cpp
+++ b/host/lib/usrp/cores/rx_vita_core_3000.cpp
@@ -82,9 +82,13 @@ struct rx_vita_core_3000_impl : rx_vita_core_3000
// not setup yet!";
return;
}
- UHD_ASSERT_THROW(stream_cmd.num_samps <= 0x0fffffff);
- _continuous_streaming = stream_cmd.stream_mode
- == stream_cmd_t::STREAM_MODE_START_CONTINUOUS;
+ if ((stream_cmd.stream_mode == stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE
+ || stream_cmd.stream_mode == stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_MORE)
+ && stream_cmd.num_samps > 0x0fffffff) {
+ throw uhd::assertion_error(
+ "Invalid stream command: num_samps exceeds maximum value! "
+ "(Note: Chain multiple commands to request larger bursts)");
+ }
// setup the mode to instruction flags
typedef std::tuple<bool, bool, bool, bool> inst_t;