diff options
Diffstat (limited to 'vnet/vnet/devices/netmap/device.c')
-rw-r--r-- | vnet/vnet/devices/netmap/device.c | 17 |
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) |