diff options
-rw-r--r-- | driver/usb_mux/anx7451.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/driver/usb_mux/anx7451.c b/driver/usb_mux/anx7451.c index 52318eee29..42fdb1f078 100644 --- a/driver/usb_mux/anx7451.c +++ b/driver/usb_mux/anx7451.c @@ -97,10 +97,13 @@ static int anx7451_set_mux(const struct usb_mux *me, mux_state_t mux_state, /* This driver does not use host command ACKs */ *ack_required = false; - /* Mux is not powered in Z1 */ + /* + * Mux is not powered in Z1, and will start up in USB mode. Ensure any + * mux sets when off get run again so we don't leave the retimer on with + * the None mode set + */ if (chipset_in_state(CHIPSET_STATE_HARD_OFF)) - return (mux_state == USB_PD_MUX_NONE) ? EC_SUCCESS - : EC_ERROR_NOT_POWERED; + return EC_ERROR_NOT_POWERED; /* To disable both DP and USB the mux must be powered off. */ if (!(mux_state & (USB_PD_MUX_USB_ENABLED | USB_PD_MUX_DP_ENABLED))) |