Messages in this thread | | | Date | Wed, 16 Aug 2023 21:39:37 +0200 | From | Andrew Lunn <> | Subject | Re: [PATCH net] net: mdio: mdio-bitbang: Fix C45 read/write protocol |
| |
On Wed, Aug 16, 2023 at 09:06:52PM +0300, Serge Semin wrote: > Based on the original code semantic in case of Clause 45 MDIO, the address > command is supposed to be followed by the command sending the MMD address, > not the CSR address. The commit 002dd3de097c ("net: mdio: mdio-bitbang: > Separate C22 and C45 transactions") has erroneously broken that. So most > likely due to an unfortunate variable name it switched the code to sending > the CSR address. In our case it caused the protocol malfunction so the > read operation always failed with the turnaround bit always been driven to > one by PHY instead of zero. Fix that by getting back the correct > behaviour: sending MMD address command right after the regular address > command.
I'm actually surprised we have not got more reports of me breaking MDIO with this patchset. I did test bit-banging, but only for C22.
> Fixes: 002dd3de097c ("net: mdio: mdio-bitbang: Separate C22 and C45 transactions") > Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
| |