|
@@ -1591,7 +1591,7 @@ static int usb_hotplugged ( struct usb_port *port ) {
|
1591
|
1591
|
if ( ( rc = hub->driver->speed ( hub, port ) ) != 0 ) {
|
1592
|
1592
|
DBGC ( hub, "USB hub %s port %d could not get speed: %s\n",
|
1593
|
1593
|
hub->name, port->address, strerror ( rc ) );
|
1594
|
|
- return rc;
|
|
1594
|
+ goto err_speed;
|
1595
|
1595
|
}
|
1596
|
1596
|
|
1597
|
1597
|
/* Detach device, if applicable */
|
|
@@ -1599,15 +1599,15 @@ static int usb_hotplugged ( struct usb_port *port ) {
|
1599
|
1599
|
usb_detached ( port );
|
1600
|
1600
|
|
1601
|
1601
|
/* Attach device, if applicable */
|
1602
|
|
- if ( port->speed && ! port->attached ) {
|
1603
|
|
- if ( ( rc = usb_attached ( port ) ) != 0 )
|
1604
|
|
- return rc;
|
1605
|
|
- }
|
|
1602
|
+ if ( port->speed && ( ! port->attached ) &&
|
|
1603
|
+ ( ( rc = usb_attached ( port ) ) != 0 ) )
|
|
1604
|
+ goto err_attached;
|
1606
|
1605
|
|
|
1606
|
+ err_attached:
|
|
1607
|
+ err_speed:
|
1607
|
1608
|
/* Clear any recorded disconnections */
|
1608
|
1609
|
port->disconnected = 0;
|
1609
|
|
-
|
1610
|
|
- return 0;
|
|
1610
|
+ return rc;
|
1611
|
1611
|
}
|
1612
|
1612
|
|
1613
|
1613
|
/******************************************************************************
|