usb: pd: Don't reject sink request based on max current
A fixed sink PDO request includes both operating current and max current. Although the max current requested may be greater than the available source advertisement, as per spec only the operating current request needs to be considered. The sink will likely have also set the Capability Mismatch bit as well. Hence, don't reject the request otherwise the sink will keep re-requesting and never enter a contract. Change-Id: Ia15e2e17abe43f2bcbc1fe7011b70ab0e0f5d9eb Signed-off-by: Jack Pham <jackp@codeaurora.org>
This commit is contained in:
parent
2215f1c582
commit
c4085b6ce2
1 changed files with 0 additions and 2 deletions
|
@ -1113,8 +1113,6 @@ static void usbpd_set_state(struct usbpd *pd, enum usbpd_state next_state)
|
||||||
case PE_SRC_NEGOTIATE_CAPABILITY:
|
case PE_SRC_NEGOTIATE_CAPABILITY:
|
||||||
if (PD_RDO_OBJ_POS(pd->rdo) != 1 ||
|
if (PD_RDO_OBJ_POS(pd->rdo) != 1 ||
|
||||||
PD_RDO_FIXED_CURR(pd->rdo) >
|
PD_RDO_FIXED_CURR(pd->rdo) >
|
||||||
PD_SRC_PDO_FIXED_MAX_CURR(*default_src_caps) ||
|
|
||||||
PD_RDO_FIXED_CURR_MINMAX(pd->rdo) >
|
|
||||||
PD_SRC_PDO_FIXED_MAX_CURR(*default_src_caps)) {
|
PD_SRC_PDO_FIXED_MAX_CURR(*default_src_caps)) {
|
||||||
/* send Reject */
|
/* send Reject */
|
||||||
ret = pd_send_msg(pd, MSG_REJECT, NULL, 0, SOP_MSG);
|
ret = pd_send_msg(pd, MSG_REJECT, NULL, 0, SOP_MSG);
|
||||||
|
|
Loading…
Add table
Reference in a new issue