Don't call init if an error is returned

This commit is contained in:
Kristian Sloth Lauszus 2013-10-08 18:07:36 +02:00
parent 332f56f46d
commit 7990c32ad6

View file

@ -580,6 +580,7 @@ uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lo
devConfig[parent]->ResetHubPort(port); devConfig[parent]->ResetHubPort(port);
} }
} }
if (!rcode || rcode == USB_ERROR_CONFIG_REQUIRES_ADDITIONAL_RESET) {
rcode = devConfig[driver]->Init(parent, port, lowspeed); rcode = devConfig[driver]->Init(parent, port, lowspeed);
if (rcode == hrJERR) { // Some devices returns this when plugged in - trying to initialize the device again usually works if (rcode == hrJERR) { // Some devices returns this when plugged in - trying to initialize the device again usually works
delay(100); delay(100);
@ -596,7 +597,7 @@ uint8_t USB::AttemptConfig(uint8_t driver, uint8_t parent, uint8_t port, bool lo
// reset parent port // reset parent port
devConfig[parent]->ResetHubPort(port); devConfig[parent]->ResetHubPort(port);
} }
}
} }
return rcode; return rcode;
} }