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

Commit 080ff5f4 authored by Michael Grzeschik's avatar Michael Grzeschik Committed by Greg Kroah-Hartman
Browse files

usb: chipidea: udc: only clear active and halted bits in qhead



The datasheet of the synopsys core describes only to overwrite the
active and halted bits in the qhead before priming any endpoint.

Signed-off-by: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
[Alex: fixed a case of line-too-long]
Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 938d323f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -461,7 +461,8 @@ static int _hardware_enqueue(struct ci13xxx_ep *mEp, struct ci13xxx_req *mReq)

	/*  QH configuration */
	mEp->qh.ptr->td.next   = cpu_to_le32(mReq->dma);    /* TERMINATE = 0 */
	mEp->qh.ptr->td.token &= cpu_to_le32(~TD_STATUS);   /* clear status */
	mEp->qh.ptr->td.token &=
		cpu_to_le32(~(TD_STATUS_HALTED|TD_STATUS_ACTIVE));
	mEp->qh.ptr->cap |=  cpu_to_le32(QH_ZLT);

	wmb();   /* synchronize before ep prime */