aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/avf/avf.h
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2020-09-09 17:40:02 +0200
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-09-11 11:11:02 +0000
commit171d6aceb039a7f0b0d67c837ff74359dae01ae4 (patch)
tree51823e58dcee988384ccf465ff4fd3f18b469c4d /src/plugins/avf/avf.h
parent268e3b647733807dbecf402fcebedceff4c85544 (diff)
avf: fix race between avf and cli/api process
device pool my grow during suspemd which will cause crash in avf process after it exits from suspend. Type: fix Change-Id: I51fec90088c909cfbaaca6c245272a28c0827ca0 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/avf/avf.h')
-rw-r--r--src/plugins/avf/avf.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/avf/avf.h b/src/plugins/avf/avf.h
index 4b35899da38..c4c0c13ebb9 100644
--- a/src/plugins/avf/avf.h
+++ b/src/plugins/avf/avf.h
@@ -223,7 +223,7 @@ typedef struct
{
u16 msg_id_base;
- avf_device_t *devices;
+ avf_device_t **devices;
avf_per_thread_data_t *per_thread_data;
vlib_log_class_t log_class;
@@ -256,6 +256,12 @@ format_function_t format_avf_device;
format_function_t format_avf_device_name;
format_function_t format_avf_input_trace;
+static_always_inline avf_device_t *
+avf_get_device (u32 dev_instance)
+{
+ return pool_elt_at_index (avf_main.devices, dev_instance)[0];
+}
+
static inline u32
avf_get_u32 (void *start, int offset)
{