提交 080ff5f4 编写于 作者: M Michael Grzeschik 提交者: Greg Kroah-Hartman

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: NMichael Grzeschik <m.grzeschik@pengutronix.de>
Reviewed-by: NFelipe Balbi <balbi@ti.com>
[Alex: fixed a case of line-too-long]
Signed-off-by: NAlexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 938d323f
......@@ -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 */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册