aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/transport
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2012-04-21 11:09:58 -0700
committerJosh Blum <josh@joshknows.com>2012-04-21 11:09:58 -0700
commit4378ad458441e1431ea3bdaafd8d663d3061f6f3 (patch)
tree75dc6a1b06e80c051f39ce101b72c2c10b0e1b54 /host/lib/transport
parentf84d7579aecaf2a90965331b200f6b298cd0c1d4 (diff)
parent81e2262c9e41bbd3621c9753231e5eba23cd7292 (diff)
downloaduhd-4378ad458441e1431ea3bdaafd8d663d3061f6f3.tar.gz
uhd-4378ad458441e1431ea3bdaafd8d663d3061f6f3.tar.bz2
uhd-4378ad458441e1431ea3bdaafd8d663d3061f6f3.zip
Merge branch 'master' into next
Diffstat (limited to 'host/lib/transport')
-rw-r--r--host/lib/transport/super_recv_packet_handler.hpp2
-rw-r--r--host/lib/transport/super_send_packet_handler.hpp1
-rw-r--r--host/lib/transport/usb_zero_copy_wrapper.cpp5
3 files changed, 4 insertions, 4 deletions
diff --git a/host/lib/transport/super_recv_packet_handler.hpp b/host/lib/transport/super_recv_packet_handler.hpp
index 74fbe82fb..205c7a3a3 100644
--- a/host/lib/transport/super_recv_packet_handler.hpp
+++ b/host/lib/transport/super_recv_packet_handler.hpp
@@ -306,7 +306,7 @@ private:
#endif
//3) check for out of order timestamps
- if (info.ifpi.has_tsi and info.ifpi.has_tsf and prev_buffer_info[index].time > info.time){
+ if (info.ifpi.has_tsf and prev_buffer_info[index].time > info.time){
return PACKET_TIMESTAMP_ERROR;
}
diff --git a/host/lib/transport/super_send_packet_handler.hpp b/host/lib/transport/super_send_packet_handler.hpp
index 46c98afea..8a4fce11e 100644
--- a/host/lib/transport/super_send_packet_handler.hpp
+++ b/host/lib/transport/super_send_packet_handler.hpp
@@ -242,6 +242,7 @@ private:
//commit the samples to the zero-copy interface
size_t num_bytes_total = (_header_offset_words32+if_packet_info.num_packet_words32)*sizeof(boost::uint32_t);
buff->commit(num_bytes_total);
+ buff.reset(); //effectively a release
}
_next_packet_seq++; //increment sequence after commits
diff --git a/host/lib/transport/usb_zero_copy_wrapper.cpp b/host/lib/transport/usb_zero_copy_wrapper.cpp
index 690e5aaa2..3571ed856 100644
--- a/host/lib/transport/usb_zero_copy_wrapper.cpp
+++ b/host/lib/transport/usb_zero_copy_wrapper.cpp
@@ -35,10 +35,9 @@ public:
_queue(queue){/*NOP*/}
void release(void){
- if (_mrb.get() == NULL) return;
- _mrb->release();
+ if (not _mrb) return;
+ _mrb.reset(); //decrement ref count, other MRB's may hold a ref
_queue.push_with_haste(this);
- _mrb.reset();
}
UHD_INLINE sptr get_new(managed_recv_buffer::sptr mrb, const void *mem, size_t len){