> +static int sparx5_port_open(struct net_device *ndev)
> +{
> +     struct sparx5_port *port = netdev_priv(ndev);
> +     int err = 0;
> +
> +     sparx5_port_enable(port, true);
> +     if (port->conf.phy_mode != PHY_INTERFACE_MODE_NA) {
> +             err = phylink_of_phy_connect(port->phylink, port->of_node, 0);
> +             if (err) {
> +                     netdev_err(ndev, "Could not attach to PHY\n");
> +                     return err;
> +             }
> +     }

This looks a bit odd. PHY_INTERFACE_MODE_NA means don't touch,
something else has already configured the MAC-PHY mode in the PHY.
You should not not connect the PHY because of this.

> +void sparx5_destroy_netdev(struct sparx5 *sparx5, struct sparx5_port *port)
> +{
> +     if (port->phylink) {
> +             /* Disconnect the phy */
> +             if (rtnl_trylock()) {

Why do you use rtnl_trylock()?

    Andrew

Reply via email to