priv = ptpsq->txqsq.priv;
 
+       rtnl_lock();
        mutex_lock(&priv->state_lock);
        chs = &priv->channels;
        netdev = priv->netdev;
        carrier_ok = netif_carrier_ok(netdev);
        netif_carrier_off(netdev);
 
-       rtnl_lock();
        mlx5e_deactivate_priv_channels(priv);
-       rtnl_unlock();
 
        mlx5e_ptp_close(chs->ptp);
        err = mlx5e_ptp_open(priv, &chs->params, chs->c[0]->lag_port, &chs->ptp);
 
-       rtnl_lock();
        mlx5e_activate_priv_channels(priv);
-       rtnl_unlock();
 
        /* return carrier back if needed */
        if (carrier_ok)
                netif_carrier_on(netdev);
 
        mutex_unlock(&priv->state_lock);
+       rtnl_unlock();
 
        return err;
 }