linux-stable/drivers/platform/chrome
Prashant Malani 478f32ab4d platform/chrome: cros_typec_vdm: Fix VDO copy
The usage of memcpy() affects the representation of the VDOs as they are
copied to the EC Host Command buffer. Specifically, all higher order
bits get dropped (for example: a VDO of 0x406 just gets copied as 0x6).

Avoid this by explicitly copying each VDO in the array. The number of
VDOs generated by alternate mode drivers in their VDMs is almost always
just 1 (apart from the header) so this doesn't affect performance in a
meaningful way).

Fixes: 40a9b13a09 ("platform/chrome: cros_typec_vdm: Add VDM send support")
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20230113182626.1149539-1-pmalani@chromium.org
Signed-off-by: Prashant Malani <pmalani@chromium.org>
2023-01-24 19:02:38 +00:00
..
wilco_ec platform/chrome: use sysfs_emit() instead of scnprintf() 2022-12-26 11:14:34 +08:00
chromeos_acpi.c platform/chrome: Add ChromeOS ACPI device driver 2022-05-13 19:42:30 +08:00
chromeos_laptop.c platform/chrome: fix double-free in chromeos_laptop_prepare() 2022-08-22 06:56:45 +00:00
chromeos_privacy_screen.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
chromeos_pstore.c
chromeos_tbmc.c
cros_ec.c platform/chrome: cros_ec: Use per-device lockdep key 2023-01-13 09:30:50 +08:00
cros_ec.h platform/chrome: cros_ec: Make cros_ec_unregister() return void 2022-02-09 13:00:43 +00:00
cros_ec_chardev.c platform/chrome: fix memory corruption in ioctl 2022-08-22 06:56:45 +00:00
cros_ec_debugfs.c platform/chrome: fix kernel-doc warnings for panic notifier 2023-01-13 09:30:49 +08:00
cros_ec_i2c.c platform/chrome: cros_ec: Convert to i2c's .probe_new() 2022-11-19 14:44:46 +08:00
cros_ec_ishtp.c platform/chrome: correct cros_ec_prepare_tx() usage 2022-05-16 10:01:51 +08:00
cros_ec_lightbar.c platform/chrome: use sysfs_emit() instead of scnprintf() 2022-12-26 11:14:34 +08:00
cros_ec_lpc.c platform/chrome: cros_ec_lpc: initialize the buf variable 2023-01-11 11:27:56 +08:00
cros_ec_lpc_mec.c platform/chrome: cros_ec_lpc_mec: remove cros_ec_lpc_mec_destroy() 2022-11-01 10:33:02 +08:00
cros_ec_lpc_mec.h platform/chrome: cros_ec_lpc_mec: remove cros_ec_lpc_mec_destroy() 2022-11-01 10:33:02 +08:00
cros_ec_proto.c platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure 2022-08-15 03:24:49 +00:00
cros_ec_proto_test.c platform/chrome: cros_ec_proto: remove big stub objects from stack 2023-01-18 10:57:56 +08:00
cros_ec_rpmsg.c platform/chrome: correct cros_ec_prepare_tx() usage 2022-05-16 10:01:51 +08:00
cros_ec_sensorhub.c
cros_ec_sensorhub_ring.c platform: chrome: Split trace include file 2022-03-31 16:56:29 -07:00
cros_ec_sensorhub_trace.h platform: chrome: Split trace include file 2022-03-31 16:56:29 -07:00
cros_ec_spi.c platform/chrome: cros_ec_spi: Set PROBE_PREFER_ASYNCHRONOUS 2022-11-02 12:28:47 +08:00
cros_ec_sysfs.c platform/chrome: use sysfs_emit_at() instead of scnprintf() 2022-12-26 16:14:53 +08:00
cros_ec_trace.c
cros_ec_trace.h platform/chrome: use macros for passthru indexes 2022-06-10 02:31:42 +00:00
cros_ec_typec.c platform/chrome: cros_ec_typec: allow deferred probe of switch handles 2023-01-24 19:02:38 +00:00
cros_ec_typec.h platform/chrome: cros_ec_typec: Move structs to header 2023-01-09 20:32:53 +00:00
cros_ec_uart.c platform/chrome: cros_ec_uart: fix negative type promoted to high 2023-01-18 10:57:51 +08:00
cros_ec_vbc.c
cros_hps_i2c.c platform/chrome: cros_hps_i2c: make remove callback return void 2022-10-19 09:52:08 +08:00
cros_kbd_led_backlight.c platform/chrome: cros_kbd_led_backlight: fix build warning 2022-07-20 01:22:59 +00:00
cros_kunit_util.c platform/chrome: cros_kunit_util: add default value for msg->result 2022-07-21 08:49:28 +00:00
cros_kunit_util.h platform/chrome: cros_kunit_util: add default value for msg->result 2022-07-21 08:49:28 +00:00
cros_typec_switch.c platform/chrome: cros_typec_switch: Check for retimer flag 2023-01-10 20:47:32 +00:00
cros_typec_vdm.c platform/chrome: cros_typec_vdm: Fix VDO copy 2023-01-24 19:02:38 +00:00
cros_typec_vdm.h platform/chrome: cros_typec_vdm: Add VDM reply support 2023-01-09 20:32:54 +00:00
cros_usbpd_logger.c
cros_usbpd_notify.c platform/chrome: cros_usbpd_notify: Fix error handling in cros_usbpd_notify_init() 2022-11-25 08:28:28 +00:00
Kconfig platform/chrome: cros_ec_typec: Alter module name with hyphens 2023-01-09 20:32:53 +00:00
Makefile platform/chrome: cros_ec_typec: Add initial VDM support 2023-01-09 20:32:53 +00:00