Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5615112 authored by Grazvydas Ignotas's avatar Grazvydas Ignotas Committed by Felipe Balbi
Browse files

usb: musb: core: honour initial transceiver state



As the usb transceiver driver usually starts first, it should already
have default_a variable set according to ID pin state, so don't
override it. In case default_a was not changed by trasceiver, it will
default to 0 and this code will work as before.

Signed-off-by: default avatarGrazvydas Ignotas <notasas@gmail.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 4261b8f3
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -1952,9 +1952,13 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
		musb_write_ulpi_buscontrol(musb->mregs, busctl);
	}

	if (musb->xceiv->otg->default_a) {
		MUSB_HST_MODE(musb);
		musb->xceiv->state = OTG_STATE_A_IDLE;
	} else {
		MUSB_DEV_MODE(musb);
	musb->xceiv->otg->default_a = 0;
		musb->xceiv->state = OTG_STATE_B_IDLE;
	}

	status = musb_gadget_setup(musb);