summaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp2
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2012-01-16 22:31:03 -0800
committerJosh Blum <josh@joshknows.com>2012-01-23 13:03:09 -0800
commitb8e41cbbc9666a9758d0f9f3a57272530716935a (patch)
treefc8eb1546d5ac4ab3ec5ae742335b45144fa0bc2 /host/lib/usrp/usrp2
parent287958ba36072f699090aa61ad2b6bbee6846d66 (diff)
downloaduhd-b8e41cbbc9666a9758d0f9f3a57272530716935a.tar.gz
uhd-b8e41cbbc9666a9758d0f9f3a57272530716935a.tar.bz2
uhd-b8e41cbbc9666a9758d0f9f3a57272530716935a.zip
uhd: flush transport for new rx streamers
Diffstat (limited to 'host/lib/usrp/usrp2')
-rw-r--r--host/lib/usrp/usrp2/io_impl.cpp2
-rw-r--r--host/lib/usrp/usrp2/usrp2_impl.cpp4
2 files changed, 1 insertions, 5 deletions
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp
index 44ab513ac..fd81071fb 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -419,7 +419,7 @@ rx_streamer::sptr usrp2_impl::get_rx_stream(const uhd::stream_args_t &args_){
_mbc[mb].rx_dsps[dsp]->set_format(args.otw_format, sc8_scalar);
my_streamer->set_xport_chan_get_buff(chan_i, boost::bind(
&zero_copy_if::get_recv_buff, _mbc[mb].rx_dsp_xports[dsp], _1
- ));
+ ), true /*flush*/);
_mbc[mb].rx_streamers[dsp] = my_streamer; //store weak pointer
break;
}
diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp
index 4d7f221c6..ef7151cee 100644
--- a/host/lib/usrp/usrp2/usrp2_impl.cpp
+++ b/host/lib/usrp/usrp2/usrp2_impl.cpp
@@ -498,10 +498,6 @@ usrp2_impl::usrp2_impl(const device_addr_t &_device_addr){
_mbc[mb].rx_dsps[dspno]->set_link_rate(USRP2_LINK_RATE_BPS);
_tree->access<double>(mb_path / "tick_rate")
.subscribe(boost::bind(&rx_dsp_core_200::set_tick_rate, _mbc[mb].rx_dsps[dspno], _1));
- //This is a hack/fix for the lingering packet problem.
- //The dsp core starts streaming briefly... now we flush
- _mbc[mb].rx_dsp_xports[dspno]->get_recv_buff(0.01).get(); //recv with timeout for lingering
- _mbc[mb].rx_dsp_xports[dspno]->get_recv_buff(0.01).get(); //recv with timeout for expected
fs_path rx_dsp_path = mb_path / str(boost::format("rx_dsps/%u") % dspno);
_tree->create<meta_range_t>(rx_dsp_path / "rate/range")
.publish(boost::bind(&rx_dsp_core_200::get_host_rates, _mbc[mb].rx_dsps[dspno]));