diff --git a/drivers/soc/microchip/mpfs-sys-controller.c b/drivers/soc/microchip/mpfs-sys-controller.c index 10b2fc39da66cf..404c31daf45942 100644 --- a/drivers/soc/microchip/mpfs-sys-controller.c +++ b/drivers/soc/microchip/mpfs-sys-controller.c @@ -168,8 +168,10 @@ static int mpfs_sys_controller_probe(struct platform_device *pdev) for (i = 0; i < ARRAY_SIZE(subdevs); i++) { subdevs[i].dev.parent = dev; - if (platform_device_register(&subdevs[i])) + if (platform_device_register(&subdevs[i])) { dev_warn(dev, "Error registering sub device %s\n", subdevs[i].name); + platform_device_put(&subdevs[i]); + } } dev_info(&pdev->dev, "Registered MPFS system controller\n");