diff options
author | Damjan Marion <damarion@cisco.com> | 2020-09-09 17:40:02 +0200 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2020-09-11 11:11:02 +0000 |
commit | 171d6aceb039a7f0b0d67c837ff74359dae01ae4 (patch) | |
tree | 51823e58dcee988384ccf465ff4fd3f18b469c4d /src/plugins/avf/avf.h | |
parent | 268e3b647733807dbecf402fcebedceff4c85544 (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.h | 8 |
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) { |