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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 17 Jul 2020 16:21:51 +0100
From:   Mark Einon <mark.einon@...il.com>
To:     Andrew Lunn <andrew@...n.ch>
Cc:     davem@...emloft.net, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: ethernet: et131x: Remove redundant register read

On Fri, 2020-07-17 at 15:40 +0200, Andrew Lunn wrote:
> On Fri, Jul 17, 2020 at 02:21:35PM +0100, Mark Einon wrote:
> > Following the removal of an unused variable assignment (remove
> > unused variable 'pm_csr') the associated register read can also go,
> > as the read also occurs in the subsequent 
> > call.
> 
> Hi Mark
> 
> Do you have any hardware documentation which indicates these read are
> not required? Have you looked back through the git history to see if
> there are any comments about these read?
> 
> Hardware reads which appear pointless are sometimes very important to
> actually make the hardware work.
> 
> 	 Andrew

Hi Andrew,

Yes - I'm aware of such effects. In the original vendor driver (
https://gitlab.com/einonm/Legacy-et131x) the read of this register ( 
pm_phy_sw_coma) is not wrapped in a function call and is always called
once when needed.

Also in the current kernel driver et1310_in_phy_coma() is called a few
other times without the removed read being made.

The datasheet I have for a similar device (et1011) doesn't say anything
other than the register should be read/write.

So I think this is a safe thing to do. 

Best regards,

Mark


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ