firmware: google: Release devices before unregistering the bus
[ Upstream commit cae0970ee9c4527f189aac378c50e2f0ed020418 ] Fix a bug where the kernel module can't be loaded after it has been unloaded as the devices are still present and conflicting with the to be created coreboot devices. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Link: https://lore.kernel.org/r/20191118101934.22526-2-patrick.rudolph@9elements.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Stable-dep-of: 65946690ed8d ("firmware: coreboot: Register bus in module init") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
cb7495fe95
commit
a2012335aa
@ -163,8 +163,15 @@ static int coreboot_table_probe(struct platform_device *pdev)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int __cb_dev_unregister(struct device *dev, void *dummy)
|
||||||
|
{
|
||||||
|
device_unregister(dev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int coreboot_table_remove(struct platform_device *pdev)
|
static int coreboot_table_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
bus_for_each_dev(&coreboot_bus_type, NULL, NULL, __cb_dev_unregister);
|
||||||
bus_unregister(&coreboot_bus_type);
|
bus_unregister(&coreboot_bus_type);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user