mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
USB HAL: Fix infinite loop.
Bug: 35726475 Test: usb-service no longer consumes 100% CPU Change-Id: I274caec45e7527cbacf57f9a735d711dcb481bfd
This commit is contained in:
@@ -172,17 +172,22 @@ rescan:
|
||||
ports++;
|
||||
}
|
||||
}
|
||||
|
||||
if (ports == 0) {
|
||||
closedir(dp);
|
||||
return Status::SUCCESS;
|
||||
}
|
||||
|
||||
names.resize(ports);
|
||||
rewinddir(dp);
|
||||
|
||||
while ((ep = readdir (dp))) {
|
||||
/* Check to see if new ports were added since the first pass. */
|
||||
if (current >= ports) {
|
||||
rewinddir(dp);
|
||||
goto rescan;
|
||||
}
|
||||
|
||||
if (ep->d_type == DT_LNK) {
|
||||
/* Check to see if new ports were added since the first pass. */
|
||||
if (current >= ports) {
|
||||
rewinddir(dp);
|
||||
goto rescan;
|
||||
}
|
||||
names[current++] = ep->d_name;
|
||||
}
|
||||
}
|
||||
@@ -234,7 +239,7 @@ Status getPortStatusHelper (hidl_vec<PortStatus>& currentPortStatus) {
|
||||
|
||||
if (result == Status::SUCCESS) {
|
||||
currentPortStatus.resize(names.size());
|
||||
for(std::vector<std::string>::size_type i = 0; i != names.size(); i++) {
|
||||
for(std::vector<std::string>::size_type i = 0; i < names.size(); i++) {
|
||||
ALOGI("%s", names[i].c_str());
|
||||
currentPortStatus[i].portName = names[i];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user