[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c916d9a9-fa9f-104e-8078-083d96f74343@axentia.se>
Date: Wed, 2 Mar 2022 23:45:57 +0100
From: Peter Rosin <peda@...ntia.se>
To: Wolfram Sang <wsa+renesas@...g-engineering.com>,
"linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
Christophe JAILLET <christophe.jaillet@...adoo.fr>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] i2c: mux: demux-pinctrl: do not deactivate a master that
is not active
On 2022-03-02 22:22, Wolfram Sang wrote:
> On Wed, Mar 02, 2022 at 10:17:20PM +0100, Wolfram Sang wrote:
>>
>>> Attempting to rollback the activation of the current master when
>>> the current master has not been activated is bad. priv->cur_chan
>>
>> But the master is activated?
>>
>> 259 /* switch to first parent as active master */
>> 260 i2c_demux_activate_master(priv, 0);
>>
>> Or am I missing something? :)
>
> But _this_ code is affected by the problem you describe, or?
>
> 237 if (!adap_np) {
> 238 dev_err(&pdev->dev, "can't get phandle for parent %d\n", i);
> 239 err = -ENOENT;
> 240 goto err_rollback;
> 241 }
>
Yes. That is the error path that, if taken, results in the faulty
deactivation. Sorry for not spelling it out...
Cheers,
Peter
Powered by blists - more mailing lists