summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/devices/netmap/device.c
diff options
context:
space:
mode:
Diffstat (limited to 'vnet/vnet/devices/netmap/device.c')
-rw-r--r--vnet/vnet/devices/netmap/device.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/vnet/vnet/devices/netmap/device.c b/vnet/vnet/devices/netmap/device.c
index a13326035de..751caf72aa8 100644
--- a/vnet/vnet/devices/netmap/device.c
+++ b/vnet/vnet/devices/netmap/device.c
@@ -119,14 +119,15 @@ netmap_interface_tx (vlib_main_t * vm,
if (nm_tx_pending(ring))
{
- ioctl(nif->fd, NIOCTXSYNC, NULL);
- clib_cpu_time_wait(time_constant);
-
- if (nm_tx_pending(ring) && !n_free_slots)
- {
- cur_ring++;
- continue;
- }
+ if (ioctl(nif->fd, NIOCTXSYNC, NULL) < 0)
+ clib_unix_warning ("NIOCTXSYNC");
+ clib_cpu_time_wait(time_constant);
+
+ if (nm_tx_pending(ring) && !n_free_slots)
+ {
+ cur_ring++;
+ continue;
+ }
}
while (n_left && n_free_slots)