Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[linux-2.6-microblaze.git] / drivers / base / core.c
index 2804254..688a592 100644 (file)
@@ -886,6 +886,8 @@ static void device_link_put_kref(struct device_link *link)
 {
        if (link->flags & DL_FLAG_STATELESS)
                kref_put(&link->kref, __device_link_del);
+       else if (!device_is_registered(link->consumer))
+               __device_link_del(&link->kref);
        else
                WARN(1, "Unable to drop a managed device link reference\n");
 }