goto resetfail;
// Set address of port
- struct usb_pipe *pipe = usb_set_address(&cntl->usb, !!(sts & RH_PS_LSDA));
+ struct usb_pipe *pipe = usb_set_address(hub, port, !!(sts & RH_PS_LSDA));
if (!pipe)
goto resetfail;
mutex_unlock(&cntl->usb.resetlock);
struct usb_ohci_s *cntl = container_of(
pipe->pipe.cntl, struct usb_ohci_s, usb);
int maxpacket = pipe->pipe.maxpacket;
- int lowspeed = pipe->pipe.lowspeed;
+ int lowspeed = pipe->pipe.speed;
int devaddr = pipe->pipe.devaddr | (pipe->pipe.ep << 7);
// Setup transfer descriptors
if (frameexp > 5)
frameexp = 5;
int maxpacket = dummy->maxpacket;
- int lowspeed = dummy->lowspeed;
+ int lowspeed = dummy->speed;
int devaddr = dummy->devaddr | (dummy->ep << 7);
// Determine number of entries needed for 2 timer ticks.
int ms = 1<<frameexp;