All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Danilo Krummrich <dakr@kernel.org>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	driver-core@lists.linux.dev, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Mario Peter <mario.peter@leica-geosystems.com>,
	stable@vger.kernel.org
Subject: Re: [PATCH] driver core: take parent lock on deferred probe
Date: Thu, 15 Oct 2026 08:48:25 +0200	[thread overview]
Message-ID: <atB3Octe0OaCLBUQ@hovoldconsulting.com> (raw)
In-Reply-To: <DM4X8JU9PXCU.T51SZD8XO7MG@kernel.org>

On Thu, Oct 15, 2026 at 12:40:42AM +0200, Danilo Krummrich wrote:
> On Wed Oct 14, 2026 at 5:14 PM CEST, Johan Hovold wrote:
> > On Wed, Oct 14, 2026 at 04:42:09PM +0200, Danilo Krummrich wrote:

> > I understand your concern, but my reasoning is that this feature is only
> > needed when devices are tightly coupled with their parents and where it
> > therefore probably always make sense to pin the parent.
> >
> > Note that the need_parent_lock flag is now set in the device type struct
> > which also holds a pointer to the release function that drops the
> > reference. So it's pretty easy to check any theoretical further users.
> >
> >> Please, let's not add this API contract. Let's have the driver core deal with
> >> this internally.
> >
> > I can take another look at it, but the alternatives seemed either error
> > prone or a bit icky (e.g. a helper that returns a reference to the
> > parent after checking the dead flag under the device lock).
> 
> I thought some more about this, and since it is only the USB device type using
> it it's probably fine for now.  Should we ever gain new users of this API (which
> I do not hope), we can still change it and add something like the diff below.

Sounds good. It was variations of your two diffs that I had in mind as
well.

> I'd suggest to also add a comment in the USB code, explaining that this
> reference count (also) serves the purpose to fulfill the driver core API
> contract.

Sure, I'll do that.

Johan

      parent reply	other threads:[~2026-10-15  6:48 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-13 14:06 [PATCH] driver core: take parent lock on deferred probe Johan Hovold
2026-10-13 14:24 ` sashiko-bot
2026-10-13 17:43 ` Danilo Krummrich
2026-10-13 19:11   ` Alan Stern
2026-10-13 21:01     ` Danilo Krummrich
2026-10-14  2:38       ` Alan Stern
2026-10-14 14:30         ` Danilo Krummrich
2026-10-14 14:51           ` Johan Hovold
2026-10-14  8:15       ` Johan Hovold
2026-10-14 14:42         ` Danilo Krummrich
2026-10-14 15:14           ` Johan Hovold
2026-10-14 22:40             ` Danilo Krummrich
2026-10-15  0:18               ` Danilo Krummrich
2026-10-15  6:48               ` Johan Hovold [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=atB3Octe0OaCLBUQ@hovoldconsulting.com \
    --to=johan@kernel.org \
    --cc=dakr@kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=driver-core@lists.linux.dev \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mario.peter@leica-geosystems.com \
    --cc=rafael@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.