platform/chrome: cros_ec_typec: Correct alt mode index
authorPrashant Malani <pmalani@chromium.org>
Fri, 19 Aug 2022 19:08:03 +0000 (19:08 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:34:53 +0000 (12:34 +0200)
[ Upstream commit 4e477663e396f48c5cfc5f2d75d4b514f409516a ]

Alt mode indices used by USB PD (Power Delivery) start with 1, not 0.

Update the alt mdoe registration code to factor this in to the alt mode
descriptor.

Fixes: de0f49487db3 ("platform/chrome: cros_ec_typec: Register partner altmodes")
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/20220819190807.1275937-3-pmalani@chromium.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/chrome/cros_ec_typec.c

index 4027c3e..aadb8d2 100644 (file)
@@ -691,7 +691,7 @@ static int cros_typec_register_altmodes(struct cros_typec_data *typec, int port_
                for (j = 0; j < sop_disc->svids[i].mode_count; j++) {
                        memset(&desc, 0, sizeof(desc));
                        desc.svid = sop_disc->svids[i].svid;
-                       desc.mode = j;
+                       desc.mode = j + 1;
                        desc.vdo = sop_disc->svids[i].mode_vdo[j];
 
                        if (is_partner)