diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/core/device.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c index 92e8a57bf6..6bd4b26623 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -243,14 +243,15 @@ int device_probe_child(struct udevice *dev, void *parent_priv) goto fail; } + dev->flags |= DM_FLAG_ACTIVATED; if (drv->probe) { ret = drv->probe(dev); - if (ret) + if (ret) { + dev->flags &= ~DM_FLAG_ACTIVATED; goto fail; + } } - dev->flags |= DM_FLAG_ACTIVATED; - ret = uclass_post_probe_device(dev); if (ret) { dev->flags &= ~DM_FLAG_ACTIVATED; |