diff --git a/drivers/base/core.c b/drivers/base/core.c index 50bece594b36..f0a71c35dea3 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -642,9 +642,7 @@ struct device_link *device_link_add(struct device *consumer, dev_set_name(&link->link_dev, "%s--%s", dev_name(supplier), dev_name(consumer)); if (device_register(&link->link_dev)) { - put_device(consumer); - put_device(supplier); - kfree(link); + put_device(&link->link_dev); link = NULL; goto out; }