platform/chrome: cros_ec_typec: Disable tbt on port
authorAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
Fri, 13 Dec 2024 23:35:49 +0000 (15:35 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Dec 2024 07:56:05 +0000 (08:56 +0100)
Altmodes with cros_ec are either automatically entered by the EC or
entered by the AP if TBT or USB4 are supported on the system. Due to the
security risk of PCIe tunneling, TBT modes should not be auto entered by
the kernel at this time and will require user intervention.

With this change, a userspace program will need to explicitly activate
the thunderbolt mode on the port and partner in order to enter the mode
and the thunderbolt driver will not automatically enter when a partner
is connected.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20241213153543.v5.8.Ic14738918e3d026fa2d85e95fb68f8e07a0828d0@changeid
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/chrome/cros_ec_typec.c

index 1ac5798d887fcc841b637cf498befe0322726632..6ee182101bc934fcaf7b42f7d1e0418f498ca7bc 100644 (file)
@@ -311,6 +311,7 @@ static int cros_typec_register_port_altmodes(struct cros_typec_data *typec,
                memset(&desc, 0, sizeof(desc));
                desc.svid = USB_TYPEC_TBT_SID;
                desc.mode = TBT_MODE;
+               desc.inactive = true;
                amode = cros_typec_register_thunderbolt(port, &desc);
                if (IS_ERR(amode))
                        return PTR_ERR(amode);