Use UnloadModuleOrDriver for UnloadSubModule.
Signed-off-by: Michal Suchanek <hramrach@centrum.cz> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
0d4bb5442c
commit
24d435163e
|
@ -1072,6 +1072,9 @@ UnloadModuleOrDriver(ModuleDescPtr mod)
|
||||||
if (mod == NULL || mod->name == NULL)
|
if (mod == NULL || mod->name == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (mod->parent)
|
||||||
|
xf86MsgVerb(X_INFO, 3, "UnloadSubModule: \"%s\"\n", mod->name);
|
||||||
|
else
|
||||||
xf86MsgVerb(X_INFO, 3, "UnloadModule: \"%s\"\n", mod->name);
|
xf86MsgVerb(X_INFO, 3, "UnloadModule: \"%s\"\n", mod->name);
|
||||||
|
|
||||||
if ((mod->TearDownProc) && (mod->TearDownData))
|
if ((mod->TearDownProc) && (mod->TearDownData))
|
||||||
|
@ -1092,23 +1095,8 @@ UnloadSubModule(pointer _mod)
|
||||||
{
|
{
|
||||||
ModuleDescPtr mod = (ModuleDescPtr)_mod;
|
ModuleDescPtr mod = (ModuleDescPtr)_mod;
|
||||||
|
|
||||||
if (mod == NULL || mod->name == NULL)
|
|
||||||
return;
|
|
||||||
|
|
||||||
xf86MsgVerb(X_INFO, 3, "UnloadSubModule: \"%s\"\n", mod->name);
|
|
||||||
|
|
||||||
if ((mod->TearDownProc) && (mod->TearDownData))
|
|
||||||
mod->TearDownProc(mod->TearDownData);
|
|
||||||
LoaderUnload(mod->name, mod->handle);
|
|
||||||
|
|
||||||
RemoveChild(mod);
|
RemoveChild(mod);
|
||||||
|
UnloadModuleOrDriver(mod);
|
||||||
if (mod->child)
|
|
||||||
UnloadModuleOrDriver(mod->child);
|
|
||||||
|
|
||||||
free(mod->path);
|
|
||||||
free(mod->name);
|
|
||||||
free(mod);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1135,6 +1123,7 @@ RemoveChild(ModuleDescPtr child)
|
||||||
}
|
}
|
||||||
if (mdp == child)
|
if (mdp == child)
|
||||||
prevsib->sib = child->sib;
|
prevsib->sib = child->sib;
|
||||||
|
child->sib = NULL;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue