Dear Mika, In this revision, I have decided not to define the following functions, despite our initial agreement in v1: int tb_enable_link_recovery(struct tb_switch *sw); int tb_disable_link_recovery(struct tb_switch *sw); This decision was based on the following considerations: 1. If a write operation fails, there is no clear way to determine which port the failure occurred on, the upstream port of the switch or its link partner. 2. To restore the exact Link Recovery state after an asymmetric transition, I would need to track two boolean parameters and pass them to tb_disable_link_recovery(). This would expose port state logic to tb_configure_asym(), ending up with the same design we already have. Additionally, I have chosen to ignore the return value from usb4_port_link_recovery_enable() in tb_configure_asym(). At that stage, we cannot take meaningful action based on the return value. Moreover, re-enabling is performed immediately after tb_switch_set_link_width() to avoid introducing unnecessary conditional branches. Please let me know if you have any concerns or suggestions. Best regards, Mohammad Rahimi