Messages in this thread | | | From | "Rafael J. Wysocki" <> | Date | Wed, 14 Jul 2021 20:26:14 +0200 | Subject | Re: [PATCH V3 2/3] driver core: Add ability to delete device links of unregistered devices |
| |
On Sat, Jul 10, 2021 at 12:38 PM Adrian Hunter <adrian.hunter@intel.com> wrote: > > Managed device links are deleted by device_del(). However it is possible to > add a device link to a consumer before device_add(), and then discover an
I would say "discovering an error"
> error prevents the device from being used. In that case normally references > to the device would be dropped and the device would be deleted. However the > device link holds a reference to the device, so the device link and device > remain indefinitely (unless the supplier is deleted). > > Amend device link removal to accept removal of a link with an > unregistered consumer device. > > Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > Fixes: b294ff3e34490 ("scsi: ufs: core: Enable power management for wlun")
This patch by itself doesn't fix the above one, so the tag doesn't seem to be suitable here.
Frankly, I would consider folding it into the third patch in the series in which case please feel free to add
Reviewed-by: Rafael J. Wysocki <rafael@kernel.org>
to the resulting combo patch.
> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> > --- > drivers/base/core.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index 2de8f7d8cf54..983e895d4ced 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -887,6 +887,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"); > } > -- > 2.17.1 >
| |