Re: [PATCH net-next] net: phy: phy_link_topology: Handle NULL topologies

From: Antoine Tenart
Date: Fri Apr 12 2024 - 09:03:20 EST


Hi Maxime,

Quoting Maxime Chevallier (2024-04-12 12:46:14)
>
> This patch fixes a commit that is in net-next, hence the net-next tag and the
> lack of "Fixes" tag.

You can use Fixes: on net-next, that still helps to identify which
commit is being fixed (eg. for reviews, while looking at the history,
etc).

> diff --git a/drivers/net/phy/phy_link_topology.c b/drivers/net/phy/phy_link_topology.c
> index 985941c5c558..0f3973f07fac 100644
> --- a/drivers/net/phy/phy_link_topology.c
> +++ b/drivers/net/phy/phy_link_topology.c
> @@ -42,6 +42,9 @@ int phy_link_topo_add_phy(struct phy_link_topology *topo,
> struct phy_device_node *pdn;
> int ret;
>
> + if (!topo)
> + return 0;
> +

With that phy_sfp_connect_phy does not need to check the topo validity
before calling phy_link_topo_add_phy. The other way around is fine too.

> @@ -93,7 +96,12 @@ EXPORT_SYMBOL_GPL(phy_link_topo_add_phy);
> void phy_link_topo_del_phy(struct phy_link_topology *topo,
> struct phy_device *phy)
> {
> - struct phy_device_node *pdn = xa_erase(&topo->phys, phy->phyindex);
> + struct phy_device_node *pdn;
> +
> + if (!topo)
> + return;
> +
> + pdn = xa_erase(&topo->phys, phy->phyindex);

Same here with phy_sfp_disconnect_phy.

Thanks!
Antoine