version 1.71, 2004/10/26 05:00:59 |
version 1.72, 2005/01/24 01:30:38 |
Line 310 USB_ATTACH(uhub) |
|
Line 310 USB_ATTACH(uhub) |
|
else |
else |
up->power = USB_MIN_POWER; |
up->power = USB_MIN_POWER; |
up->restartcnt = 0; |
up->restartcnt = 0; |
|
up->reattach = 0; |
if (UHUB_IS_HIGH_SPEED(sc)) { |
if (UHUB_IS_HIGH_SPEED(sc)) { |
up->tt = &tts[UHUB_IS_SINGLE_TT(sc) ? 0 : p]; |
up->tt = &tts[UHUB_IS_SINGLE_TT(sc) ? 0 : p]; |
up->tt->hub = hub; |
up->tt->hub = hub; |
Line 356 uhub_explore(usbd_device_handle dev) |
|
Line 357 uhub_explore(usbd_device_handle dev) |
|
usbd_status err; |
usbd_status err; |
int speed; |
int speed; |
int port; |
int port; |
int change, status; |
int change, status, reconnect; |
|
|
DPRINTFN(10, ("uhub_explore dev=%p addr=%d\n", dev, dev->address)); |
DPRINTFN(10, ("uhub_explore dev=%p addr=%d\n", dev, dev->address)); |
|
|
Line 377 uhub_explore(usbd_device_handle dev) |
|
Line 378 uhub_explore(usbd_device_handle dev) |
|
} |
} |
status = UGETW(up->status.wPortStatus); |
status = UGETW(up->status.wPortStatus); |
change = UGETW(up->status.wPortChange); |
change = UGETW(up->status.wPortChange); |
|
reconnect = up->reattach; |
|
up->reattach = 0; |
DPRINTFN(3,("uhub_explore: %s port %d status 0x%04x 0x%04x\n", |
DPRINTFN(3,("uhub_explore: %s port %d status 0x%04x 0x%04x\n", |
USBDEVNAME(sc->sc_dev), port, status, change)); |
USBDEVNAME(sc->sc_dev), port, status, change)); |
if (change & UPS_C_PORT_ENABLED) { |
if (change & UPS_C_PORT_ENABLED) { |
Line 403 uhub_explore(usbd_device_handle dev) |
|
Line 406 uhub_explore(usbd_device_handle dev) |
|
USBDEVNAME(sc->sc_dev), port); |
USBDEVNAME(sc->sc_dev), port); |
} |
} |
} |
} |
if (!(change & UPS_C_CONNECT_STATUS)) { |
if (!reconnect && !(change & UPS_C_CONNECT_STATUS)) { |
DPRINTFN(3,("uhub_explore: port=%d !C_CONNECT_" |
DPRINTFN(3,("uhub_explore: port=%d !C_CONNECT_" |
"STATUS\n", port)); |
"STATUS\n", port)); |
/* No status change, just do recursive explore. */ |
/* No status change, just do recursive explore. */ |