diff options
author | Christian A. Ehrhardt <lk@c--e.de> | 2024-03-20 10:39:25 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-03-26 17:00:47 +0300 |
commit | 6aaceb7d9cd00f3e065dc4b054ecfe52c5253b03 (patch) | |
tree | 78fa405ef2bd43a3ee9d4edf02c350c9b27bfee5 /drivers/usb/typec/port-mapper.c | |
parent | 6b5c85ddeea77d18c4b69e3bda60e9374a20c304 (diff) | |
download | linux-6aaceb7d9cd00f3e065dc4b054ecfe52c5253b03.tar.xz |
usb: typec: ucsi_acpi: Refactor and fix DELL quirk
Some DELL systems don't like UCSI_ACK_CC_CI commands with the
UCSI_ACK_CONNECTOR_CHANGE but not the UCSI_ACK_COMMAND_COMPLETE
bit set. The current quirk still leaves room for races because
it requires two consecutive ACK commands to be sent.
Refactor and significantly simplify the quirk to fix this:
Send a dummy command and bundle the connector change ack with the
command completion ack in a single UCSI_ACK_CC_CI command.
This removes the need to probe for the quirk.
While there define flag bits for struct ucsi_acpi->flags in ucsi_acpi.c
and don't re-use definitions from ucsi.h for struct ucsi->flags.
Fixes: f3be347ea42d ("usb: ucsi_acpi: Quirk to ack a connector change ack cmd")
Cc: stable@vger.kernel.org
Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Link: https://lore.kernel.org/r/20240320073927.1641788-5-lk@c--e.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/typec/port-mapper.c')
0 files changed, 0 insertions, 0 deletions