Re: [PATCH 1/9] musb_host: fix musb_host_tx() for shared endpoint FIFO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wednesday 04 February 2009, Sergei Shtylyov wrote:
> From: Dmitry Krivoschekov <dkrivoschekov@xxxxxxxxxxxxx>
> 
> Input queue should be used for Tx if an endpoint's FIFO is shared.

(Because there's only the one queue in such cases...)

> 
> Signed-off-by: Dmitry Krivoschekov <dkrivoschekov@xxxxxxxxxxxxx>
> Signed-off-by: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>

Acked-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>

Greg, this bugfix looks appropriate for 2.6.29-rc.

I'm not going to suggest -stable backports for any of
these fixes, since the MUSB codes hasn't really been
usable previously (sigh).


Also:  note that I'm just reviewing these, not trying
to test them on half a dozen varieties of hardware
using this driver.


> 
> ---
> The patch is against the recent Linus' kernel...
> 
>  drivers/usb/musb/musb_host.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletion(-)
> 
> Index: mainline/drivers/usb/musb/musb_host.c
> ===================================================================
> --- mainline.orig/drivers/usb/musb/musb_host.c
> +++ mainline/drivers/usb/musb/musb_host.c
> @@ -1155,7 +1155,8 @@ void musb_host_tx(struct musb *musb, u8 
>  	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;
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux