avf: fix race between avf and cli/api process
[vpp.git] / src / plugins / avf / cli.c
index 29c2a6b..32c19f4 100644 (file)
@@ -134,7 +134,6 @@ avf_test_command_fn (vlib_main_t * vm, unformat_input_t * input,
   unformat_input_t _line_input, *line_input = &_line_input;
   u32 sw_if_index = ~0;
   vnet_hw_interface_t *hw;
-  avf_main_t *am = &avf_main;
   avf_device_t *ad;
   vnet_main_t *vnm = vnet_get_main ();
   int test_irq = 0, enable_elog = 0, disable_elog = 0;
@@ -170,7 +169,7 @@ avf_test_command_fn (vlib_main_t * vm, unformat_input_t * input,
   if (hw == NULL || avf_device_class.index != hw->dev_class_index)
     return clib_error_return (0, "not a AVF interface");
 
-  ad = pool_elt_at_index (am->devices, hw->dev_instance);
+  ad = avf_get_device (hw->dev_instance);
 
   if (enable_elog)
     ad->flags |= AVF_DEVICE_F_ELOG;