On 05/08/19 09:11, Oleinik, Alexander wrote: > Signed-off-by: Alexander Oleinik <alx...@bu.edu> > --- > util/module.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/util/module.c b/util/module.c > index 142db7e911..3d4380fd47 100644 > --- a/util/module.c > +++ b/util/module.c > @@ -30,6 +30,7 @@ typedef struct ModuleEntry > typedef QTAILQ_HEAD(, ModuleEntry) ModuleTypeList; > > static ModuleTypeList init_type_list[MODULE_INIT_MAX]; > +static bool modules_init_done[MODULE_INIT_MAX]; > > static ModuleTypeList dso_init_list; > > @@ -91,11 +92,17 @@ void module_call_init(module_init_type type) > ModuleTypeList *l; > ModuleEntry *e; > > + if (modules_init_done[type]) { > + return; > + } > + > l = find_type(type); > > QTAILQ_FOREACH(e, l, node) { > e->init(); > } > + > + modules_init_done[type] = true; > } > > #ifdef CONFIG_MODULES >
Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>