mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
pd: Whitelist port after receiving IDENT response
Making dual-role determination after receiving source caps is not sufficient, since we may not yet have identified the partner port. BUG=chrome-os-partner:56966 BRANCH=gru TEST=Attach 'old' Apple USB-C accessory to kevin, attach OEM charger to accessory, run 'pd X hard', verify device charges from port. Change-Id: I7333dd2c723e7245d30cf8a6cb1344e60073c063 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/403118 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit 09691a0e8dd93383fa76b74332d89707bfe16001) Reviewed-on: https://chromium-review.googlesource.com/415492 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
efacd6b4eb
commit
2c1626eb45
@@ -689,6 +689,12 @@ int pd_svdm(int port, int cnt, uint32_t *payload, uint32_t **rpayload)
|
||||
case CMD_DISCOVER_IDENT:
|
||||
dfp_consume_identity(port, cnt, payload);
|
||||
rsize = dfp_discover_svids(port, payload);
|
||||
#ifdef CONFIG_CHARGE_MANAGER
|
||||
if (pd_charge_from_device(pd_get_identity_vid(port),
|
||||
pd_get_identity_pid(port)))
|
||||
charge_manager_update_dualrole(port,
|
||||
CAP_DEDICATED);
|
||||
#endif
|
||||
break;
|
||||
case CMD_DISCOVER_SVID:
|
||||
dfp_consume_svids(port, payload);
|
||||
|
||||
Reference in New Issue
Block a user