From: Patrick Rudolph Date: Mon, 18 Nov 2019 10:19:29 +0000 (+0100) Subject: firmware: google: Release devices before unregistering the bus X-Git-Tag: v5.15~4622^2~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cae0970ee9c4527f189aac378c50e2f0ed020418;p=platform%2Fkernel%2Flinux-starfive.git firmware: google: Release devices before unregistering the bus 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 Link: https://lore.kernel.org/r/20191118101934.22526-2-patrick.rudolph@9elements.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/google/coreboot_table.c index 8d132e4..0205987 100644 --- a/drivers/firmware/google/coreboot_table.c +++ b/drivers/firmware/google/coreboot_table.c @@ -163,8 +163,15 @@ static int coreboot_table_probe(struct platform_device *pdev) 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) { + bus_for_each_dev(&coreboot_bus_type, NULL, NULL, __cb_dev_unregister); bus_unregister(&coreboot_bus_type); return 0; }