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: Michael Grzeschik <m.grzeschik@pengutronix.de>
Reviewed-by: Felipe Balbi <balbi@ti.com>
[Alex: fixed a case of line-too-long]
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Michael Grzeschik 2013-03-30 12:54:04 +02:00 коммит произвёл Greg Kroah-Hartman
Родитель 938d323f14
Коммит 080ff5f471
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -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 */