Re: [PATCH v2] usb/dummy_hcd: use one type of endpoint naming

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

 



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 <bigeasy@xxxxxxxxxxxxx>
> ---
> 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 <stern@xxxxxxxxxxxxxxxxxxx>

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