Re: [PATCH 1/2] i2c: synquacer: Fix an error handling path in synquacer_i2c_probe()

From: Andy Shevchenko
Date: Thu Sep 12 2024 - 10:32:39 EST


On Thu, Sep 12, 2024 at 1:23 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote:
> On Mon, 6 May 2024 at 11:03, Andi Shyti <andi.shyti@xxxxxxxxxx> wrote:
> > On Sat, Jan 06, 2024 at 01:48:24PM +0100, Christophe JAILLET wrote:
> > > If an error occurs after the clk_prepare_enable() call, it should be undone
> > > by a corresponding clk_disable_unprepare() call, as already done in the
> > > remove() function.
> > >
> > > As devm_clk_get() is used, we can switch to devm_clk_get_enabled() to
> > > handle it automatically and fix the probe.
> > >
> > > Update the remove() function accordingly and remove the now useless
> > > clk_disable_unprepare() call.
> > >
> > > Fixes: 0d676a6c4390 ("i2c: add support for Socionext SynQuacer I2C controller")
> > > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> >
> > Applied to i2c/i2c-host-fixes.
>
> These patches should be reverted: ACPI boot on SynQuacer based systems
> now fails with
>
> [ 6.206022] synquacer_i2c SCX0003:00: error -ENOENT: failed to get
> and enable clock
> [ 6.235762] synquacer_i2c SCX0003:00: probe with driver
> synquacer_i2c failed with error -2
>
> as in this case, there is no clock to enable, and the clock rate is
> specified in the PRP0001 device node.

Wouldn't simply moving to _optional fix the issue?


--
With Best Regards,
Andy Shevchenko