summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--driver/usb_mux/anx7451.c9
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)))