Skip to content

Commit

Permalink
usb: gadget: dummy_hcd: initialize max_streams early
Browse files Browse the repository at this point in the history
While playing with uasp I noticed that it does not work with dummy_hcd.
The problem is that uasp requires a stream capable endpoint which it is
requesting at bind time like every other gadget. dummy_hcd however
initializes the max_stream value after connect once it knows if it runs
at SS or not.
I don't think that it is might be wrong to initialize the stream
capability even at HS speed. The gadget may not use this descriptor at
HS speed so it should not cause any damage.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Sebastian Andrzej Siewior authored and Felipe Balbi committed Jan 24, 2012
1 parent dcd6c92 commit c688419
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions drivers/usb/gadget/dummy_hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -800,17 +800,10 @@ static int dummy_set_selfpowered (struct usb_gadget *_gadget, int value)

static void dummy_udc_udpate_ep0(struct dummy *dum)
{
u32 i;

if (dum->gadget.speed == USB_SPEED_SUPER) {
for (i = 0; i < DUMMY_ENDPOINTS; i++)
dum->ep[i].ep.max_streams = 0x10;
if (dum->gadget.speed == USB_SPEED_SUPER)
dum->ep[0].ep.maxpacket = 9;
} else {
for (i = 0; i < DUMMY_ENDPOINTS; i++)
dum->ep[i].ep.max_streams = 0;
else
dum->ep[0].ep.maxpacket = 64;
}
}

static int dummy_pullup (struct usb_gadget *_gadget, int value)
Expand Down Expand Up @@ -954,6 +947,7 @@ static void init_dummy_udc_hw(struct dummy *dum)
ep->halted = ep->wedged = ep->already_seen =
ep->setup_stage = 0;
ep->ep.maxpacket = ~0;
ep->ep.max_streams = 16;
ep->last_io = jiffies;
ep->gadget = &dum->gadget;
ep->desc = NULL;
Expand Down

0 comments on commit c688419

Please sign in to comment.