usb: typec: tcpm: Fix sink PDO starting index for PPS APDO selection
commitc413767e6698ae24ac1904827314470cacff1497
authorAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
Tue, 17 Jul 2018 14:36:19 +0000 (17 15:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Jul 2018 14:40:04 +0000 (20 16:40 +0200)
tree825af8205081da8dec375eb9dc38cbc9de3ce81b
parent4d644abf25698362bd33d17c9ddc8f7122c30f17
usb: typec: tcpm: Fix sink PDO starting index for PPS APDO selection

There is a bug in the sink PDO search code when trying to select
a PPS APDO. The current code actually sets the starting index for
searching to whatever value 'i' is, rather than choosing index 1
to avoid the first PDO (always 5V fixed). As a result, for sources
which support PPS but whose PPS APDO index does not match with the
supporting sink PPS APDO index for the platform, no valid PPS APDO
will be found so this feature will not be permitted.

Sadly in testing, both Source and Sink capabilities matched up and
this was missed. Code is now updated to correctly set the start
index to 1, and testing with additional PPS capable sources show
this to work as expected.

Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Fixes: 2eadc33f40d4 ("typec: tcpm: Add core support for sink side PPS")
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tcpm.c