[net,v2,0/1] net: usb: smsc95xx: fix external PHY reset

Message ID 20221115114434.9991-1-alexandru.tachici@analog.com
Headers
Series net: usb: smsc95xx: fix external PHY reset |

Message

Alexandru Tachici Nov. 15, 2022, 11:44 a.m. UTC
  An external PHY needs settling time after power up or reset.
In the bind() function an mdio bus is registered. If at this point
the external PHY is still initialising, no valid PHY ID will be
read and on phy_find_first() the bind() function will fail.

If an external PHY is present, wait the maximum time specified
in 802.3 45.2.7.1.1.

Alexandru Tachici (1):
  net: usb: smsc95xx: fix external PHY reset

Changelog v1 -> v2:
  - fixed typo in commit message
  - added reset() callback to the mii_bus
  - moved fsleep() call to smsc95xx_mdiobus_reset()
  - moved is_internal_phy bool in struct smsc95xx_priv
  - added an explicit PHY_RST_ command to PM_CTRL in smsc95xx_mdiobus_reset()

 drivers/net/usb/smsc95xx.c | 46 ++++++++++++++++++++++++++++++++++----
 1 file changed, 42 insertions(+), 4 deletions(-)
  

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 17, 2022, 9:50 a.m. UTC | #1
Hello:

This patch was applied to netdev/net.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Tue, 15 Nov 2022 13:44:33 +0200 you wrote:
> An external PHY needs settling time after power up or reset.
> In the bind() function an mdio bus is registered. If at this point
> the external PHY is still initialising, no valid PHY ID will be
> read and on phy_find_first() the bind() function will fail.
> 
> If an external PHY is present, wait the maximum time specified
> in 802.3 45.2.7.1.1.
> 
> [...]

Here is the summary with links:
  - [net,v2,1/1] net: usb: smsc95xx: fix external PHY reset
    https://git.kernel.org/netdev/net/c/809ff97a677f

You are awesome, thank you!