Usb: Populate UsbDataStatus only when not populated

Do not override UsbDataStatus when already populated.
Compliance warnings such as missing Rp do not populate
UsbDataStatus and the port partner is detected.
Populate UsbDataStatus only when not populated.

Bug: 279251052
Change-Id: Ibe71bdd5c521ba90c124d89bd56af90087c0df18
(cherry picked from commit 47e1400c8fef8af1aea985795d7adfe3ff16871b)
(cherry picked from commit a778a7c3a82c98ec56f9e2b0c2a1dce343317b48)
This commit is contained in:
Badhri Jagan Sridharan 2023-05-16 03:52:41 +00:00
parent 74246dbc5f
commit 877a72ffdf

View file

@ -327,7 +327,8 @@ Status queryNonCompliantChargerStatus(std::vector<PortStatus> *currentPortStatus
continue;
}
}
if ((*currentPortStatus)[i].complianceWarnings.size() > 0) {
if ((*currentPortStatus)[i].complianceWarnings.size() > 0 &&
(*currentPortStatus)[i].currentPowerRole == PortPowerRole::NONE) {
(*currentPortStatus)[i].currentMode = PortMode::UFP;
(*currentPortStatus)[i].currentPowerRole = PortPowerRole::SINK;
(*currentPortStatus)[i].currentDataRole = PortDataRole::NONE;