Re: [PATCH] USB-MUSB: data not sent to TX FIFO

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

 



On Mon, Feb 09, 2009 at 11:59:26AM +0100, ext Giuseppe GORGOGLIONE wrote:
> 
> From: Giuseppe GORGOGLIONE
> 
> When the driver is used for a Mentor Inventra device with
> static FIFO and static endpoint configuration from HW the
> is_shared_fifo flag is erroneously not enforced as true for
> endpoint 0. This makes ep0_txstate() to always print "odd;..."
> message and return without sending data in TX FIFO, because
> data send requests are queued to endpoints[0].ep_out list and
> not to to endpoints[0].ep_in where ep0_txstate() expects to
> find them (yes that's right!).
> 
> Tested on STMicroelectronics Cartesio STA2062, an ARM based SoC
> which is integrating two Mentor Inventra devices, one with static
> FIFOs and static endpoint configuration from HW, and one with
> dynamic FIFOs and dynamic endpoint configuration from tables.
> Only the first device was hitting the bug.
> Reference kernel version 2.6.28.4
> 
> Signed-off-by: Giuseppe GORGOGLIONE <giuseppe.gorgoglione@xxxxxx>

Acked-by: Felipe Balbi <felipe.balbi@xxxxxxxxx>

> 
> ---
> 
> --- drivers/usb/musb/musb_core.c.orig   2009-02-06 22:47:45.000000000 +0100
> +++ drivers/usb/musb/musb_core.c        2009-02-09 11:08:07.000000000 +0100
> @@ -1402,6 +1402,7 @@ static int __init musb_core_init(u16 mus
>         /* configure ep0 */
>         musb->endpoints[0].max_packet_sz_tx = MUSB_EP0_FIFOSIZE;
>         musb->endpoints[0].max_packet_sz_rx = MUSB_EP0_FIFOSIZE;
> +       musb->endpoints[0].is_shared_fifo = true;
> 
>         /* discover endpoint configuration */
>         musb->nr_endpoints = 1;
> 
> 
> 

-- 
balbi
--
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