diff options
author | Eric Blossom | 2009-09-04 03:48:15 -0700 |
---|---|---|
committer | Eric Blossom | 2009-09-04 03:48:15 -0700 |
commit | 20006003431d7260b04964eb684b1746ffb0a85f (patch) | |
tree | 566137acbfdfcdb52e021b2ec224e2b54a37e3d4 /usrp2/host/lib/usrp2_impl.cc | |
parent | 985830ff0afcce7b5af2d829e70f5c440a39c52a (diff) | |
download | gnuradio-20006003431d7260b04964eb684b1746ffb0a85f.tar.gz gnuradio-20006003431d7260b04964eb684b1746ffb0a85f.tar.bz2 gnuradio-20006003431d7260b04964eb684b1746ffb0a85f.zip |
stop sending short ethernet command packets.
Diffstat (limited to 'usrp2/host/lib/usrp2_impl.cc')
-rw-r--r-- | usrp2/host/lib/usrp2_impl.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/usrp2/host/lib/usrp2_impl.cc b/usrp2/host/lib/usrp2_impl.cc index d1e85805c..3d0304324 100644 --- a/usrp2/host/lib/usrp2_impl.cc +++ b/usrp2/host/lib/usrp2_impl.cc @@ -300,8 +300,19 @@ namespace usrp2 { bool - usrp2::impl::transmit_cmd(void *cmd, size_t len) + usrp2::impl::transmit_cmd(void *cmd_, size_t len_) { + const void *cmd = cmd_; + int len = len_; + unsigned char tmp[64]; + + if (len_ < 64){ // pad to minimum ethernet frame size + memset(tmp, 0, sizeof(tmp)); + memcpy(tmp, cmd_, len_); + cmd = tmp; + len = sizeof(tmp); + } + return d_eth_buf->tx_frame(cmd, len) == eth_buffer::EB_OK; } |