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:   Wed, 22 Feb 2023 03:52:40 +0000
From:   <Arun.Ramadoss@...rochip.com>
To:     <netdev@...r.kernel.org>, <marex@...x.de>
CC:     <andrew@...n.ch>, <UNGLinuxDriver@...rochip.com>,
        <olteanv@...il.com>, <linux@...linux.org.uk>,
        <f.fainelli@...il.com>, <stable@...r.kernel.org>,
        <kuba@...nel.org>, <pabeni@...hat.com>, <edumazet@...gle.com>,
        <Woojung.Huh@...rochip.com>, <davem@...emloft.net>
Subject: Re: [PATCH] net: dsa: microchip: Fix gigabit set and get function for
 KSZ87xx

Hi Marek,
On Wed, 2023-02-22 at 04:17 +0100, Marek Vasut wrote:
> Per KSZ8794 [1] datasheet DS00002134D page 54 TABLE 4-4: PORT
> REGISTERS,
> it is Register 86 (0x56): Port 4 Interface Control 6 which contains
> the
> Is_1Gbps field.
> 
> Currently, the driver uses PORT read function on register
> P_XMII_CTRL_1
> to access the P_GMII_1GBIT_M, i.e. Is_1Gbps, bit. The problem is, the
> register P_XMII_CTRL_1 address is already 0x56, which is the
> converted
> PORT register address instead of the offset within PORT register
> space
> that PORT read function expects and converts into the PORT register
> address internally. The incorrectly double-converted register address
> becomes 0xa6, which is what the PORT read function ultimatelly
> accesses,
> and which is a non-existent register on the KSZ8794/KSZ8795 .
> 
> The correct value for P_XMII_CTRL_1 is 0x6, which gets converted into
> port address 0x56, which is Register 86 (0x56): Port 4 Interface
> Control 6
> per KSZ8794 datasheet, i.e. the correct register address.
> 
> To make this worse, there are multiple other call sites which read
> and
> even write the P_XMII_CTRL_1 register, one of them is ksz_set_xmii(),
> which is responsible for configuration of RGMII delays. These delays
> are incorrectly configured and a non-existent register is written
> without this change.
> 
> Fix the P_XMII_CTRL_1 register offset to resolve these problems.
> 
> [1] 
> https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocuments/DataSheets/KSZ8794CNX-Data-Sheet-DS00002134.pdf
> 
> Fixes: 46f80fa8981b ("net: dsa: microchip: add common gigabit set and
> get function")
> Signed-off-by: Marek Vasut <marex@...x.de>

Thanks for the catch. I overlooked the ksz_write to ksz_pwrite when
refactoring the code for common KSZ implementation.

Acked-by: Arun Ramadoss <arun.ramadoss@...rochip.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ