On Thu, 8 Nov 2012, Sebastian Andrzej Siewior wrote:

> If we do have endpoints named like "ep-a" then bEndpointAddress is
> counted internally by the gadget framework.
> If we do have endpoints named like "ep-1" then bEndpointAddress is
> assigned from the digit after "ep-".
> If we do have both, then it is likely that after we used up the
> "generic" endpoints, we will use the digits and thus assign one
> bEndpointAddress to multiple endpoints.
> This theory can be proofed by using the completely enabled g_multi.
> Without this patch, the mass storage won't enumerate and times out
> because it shares endpoints with RNDIS.
> This patch also fills up the endpoints list so we have in total
> endpoints 1 to 15 in + out available while some of them are restricted
> to certain types like BULK or ISO. Without this change the nokia gadget
> won't load because the system does not provide enough (BULK) endpoints.
> 
> Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
> ---
> v1..v2:
>     - leave the indent for "ep15in-int" as-is
>     - fix up comment for pxa250 so does not continue the previous
>       comment
>  drivers/usb/gadget/dummy_hcd.c |    9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
> index b09dfa1..02a5dcb 100644
> --- a/drivers/usb/gadget/dummy_hcd.c
> +++ b/drivers/usb/gadget/dummy_hcd.c
> @@ -138,10 +138,7 @@ static const char ep0name[] = "ep0";
>  static const char *const ep_name[] = {
>       ep0name,                                /* everyone has ep0 */
>  
> -     /* act like a net2280: high speed, six configurable endpoints */
> -     "ep-a", "ep-b", "ep-c", "ep-d", "ep-e", "ep-f",
> -
> -     /* or like pxa250: fifteen fixed function endpoints */
> +     /* act like a pxa250: fifteen fixed function endpoints */
>       "ep1in-bulk", "ep2out-bulk", "ep3in-iso", "ep4out-iso", "ep5in-int",
>       "ep6in-bulk", "ep7out-bulk", "ep8in-iso", "ep9out-iso", "ep10in-int",
>       "ep11in-bulk", "ep12out-bulk", "ep13in-iso", "ep14out-iso",
> @@ -149,6 +146,10 @@ static const char *const ep_name[] = {
>  
>       /* or like sa1100: two fixed function endpoints */
>       "ep1out-bulk", "ep2in-bulk",
> +
> +     /* and now some generic EPs so we have enough in multi config */
> +     "ep3out", "ep4in", "ep5out", "ep6out", "ep7in", "ep8out", "ep9in",
> +     "ep10out", "ep11out", "ep12in", "ep13out", "ep14in", "ep15out",
>  };
>  #define DUMMY_ENDPOINTS      ARRAY_SIZE(ep_name)

Acked-by: Alan Stern <st...@rowland.harvard.edu>

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

Reply via email to