Re: [PATCH] PCI/pwrctrl: tc9563: take i2c adapter module reference

From: Johan Hovold

Date: Mon Jul 20 2026 - 06:20:03 EST


On Fri, Jul 17, 2026 at 11:58:41AM -0500, Bjorn Helgaas wrote:
> On Thu, Jul 16, 2026 at 03:25:32PM +0200, Johan Hovold wrote:
> > The i2c subsystem currently blocks during adapter deregistration
> > whenever there are consumers holding a reference.
> >
> > Switch to using of_get_i2c_adapter_by_node() which also takes a
> > reference to the adapter module so that an attempt to unload the module
> > while in use fails gracefully instead of blocking uninterruptibly.
> >
> > Signed-off-by: Johan Hovold <johan@xxxxxxxxxx>
>
> Applied to pci/pwrctrl for v7.3, thanks!
>
> Gemini suggested minor commit log rewording, let me know if it makes it
> worse. I do like the impact being mentioned in the subject:
>
> PCI/pwrctrl: tc9563: Avoid uninterruptible hang on in-use I2C module unload
>
> The I2C subsystem blocks during adapter deregistration if there are
> consumers actively holding a reference.
>
> Switch to of_get_i2c_adapter_by_node(), which also takes a reference to the
> adapter module, so an attempt to unload the module while in use will fail
> gracefully instead of blocking uninterruptibly.

No, please don't rewrite my commit messages (and especially not without
clearly documenting that you've done).

If you have any concerns about the wording, I can try to accommodate
those in a v2.

If I had considered this to be a fix (the line is admittedly blurry) I
would also have tried to be more explicit about the impact in the
summary. But here I think the existing summary is sufficient.

Note that I've sent similar changes for other subsystems and there is
some value in using the same patch summary (modulo subsystem preferences
for capitalisation, etc).

Johan