UPSTREAM: usb: dwc2: host: Always add to the tail of queuesa
authorNickey Yang <nickey.yang@rock-chips.com>
Wed, 26 Oct 2016 06:08:23 +0000 (14:08 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 26 Oct 2016 06:48:16 +0000 (14:48 +0800)
commitabda71220e727633ad5dd404e0e09f04f0eb2d1b
tree406be5a1158273957e54269ff0c3487e4152db97
parent104756064072e39790eb16c5c987744e81d52a62
UPSTREAM: usb: dwc2: host: Always add to the tail of queuesa

The queues the the dwc2 host controller used are truly queues.  That
means FIFO or first in first out.

Unfortunately though the code was iterating through these queues
starting from the head, some places in the code was adding things to the
queue by adding at the head instead of the tail.  That means last in
first out.  Doh.

Go through and just always add to the tail.

Doing this makes things much happier when I've got:
 * 7-port USB 2.0 Single-TT hub
 * - Microsoft 2.4 GHz Transceiver v7.0 dongle
 * - Jabra speakerphone playing music

Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
(cherry picked from commit 94ef7aee11c26e79441276ca43f0c25a04bd1303)

Change-Id: Idf0f468b0e849698a637548f9520b9965368ef35
Signed-off-by: Nickey Yang <nickey.yang@rock-chips.com>
drivers/usb/dwc2/hcd.c
drivers/usb/dwc2/hcd_ddma.c
drivers/usb/dwc2/hcd_intr.c
drivers/usb/dwc2/hcd_queue.c