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

Commit b7bdcb79 authored by Dmitry Krivoschekov's avatar Dmitry Krivoschekov Committed by Greg Kroah-Hartman
Browse files

USB: musb: fix musb_host_tx() for shared endpoint FIFO



The input queue should be used for TX on endpoints which
share FIFO hardware.  The host TX path wasn't doing that.

Shared FIFOs are most often configured for periodic endpoints,
which are mostly used for RX/IN transfers ... that's probably
how this bug managed to linger for a long time.

[ dbrownell@users.sourceforge.net: update patch description ]

Signed-off-by: default avatarDmitry Krivoschekov <dkrivoschekov@ru.mvista.com>
Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Cc: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c2c96321
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1161,7 +1161,8 @@ void musb_host_tx(struct musb *musb, u8 epnum)
	struct urb		*urb;
	struct musb_hw_ep	*hw_ep = musb->endpoints + epnum;
	void __iomem		*epio = hw_ep->regs;
	struct musb_qh		*qh = hw_ep->out_qh;
	struct musb_qh		*qh = hw_ep->is_shared_fifo ? hw_ep->in_qh
							    : hw_ep->out_qh;
	u32			status = 0;
	void __iomem		*mbase = musb->mregs;
	struct dma_channel	*dma;