lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 17 Jun 2022 15:59:42 +0300
From:   Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To:     Dinh Nguyen <dinguyen@...nel.org>
Cc:     andriy.shevchenko@...ux.intel.com, mika.westerberg@...ux.intel.com,
        robh+dt@...nel.org, krzk+dt@...nel.org, linux-i2c@...r.kernel.org,
        linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCHv5 1/2] i2c: designware: introduce a custom scl recovery
 for SoCFPGA platforms

Hi

On 6/16/22 17:12, Dinh Nguyen wrote:
> The I2C pins on the SoCFPGA platforms do not go through a GPIO module,
> thus cannot be recovered by the default method of by doing a GPIO access.
> Only a reset of the I2C IP block can a recovery be successful.
> 
One thing what is unclear to me how does this release the I2C slave that 
potentially keeps the SDA stuck low. Does platform specific reset 
sequence send 9 SCL pulses, toggle HW reset of the clients or cycle 
power of them?

If recovery is only controller point of view then worth to emphasis it 
in the commit log and perhaps add a comment too into 
i2c_socfpga_scl_recovery(). Some might hit an issue that I2C client is 
stuck and wonder why recovery won't work.

> The assignment of the recover_bus needs to get done before the call to
> devm_gpiod_get_optional(), otherwise, the assignment is not taking place
> because of an error after returning from devm_gpiod_get_optional().
> 
This sentence no longer true after v3?

Otherwise code looks good to me.

Jarkko

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ