usb: typec: ucsi: Fix role swapping
authorHeikki Krogerus <heikki.krogerus@linux.intel.com>
Tue, 5 Apr 2022 13:48:24 +0000 (16:48 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 21 Apr 2022 16:33:10 +0000 (18:33 +0200)
commiteb5d7ff3cf0d55093c619b5ad107cd5c05ce8134
tree61cb282408d83fad7839b6dea22845b6eefa8193
parente25adcca917d7e4cdc1dc6444d0692ffda7594bf
usb: typec: ucsi: Fix role swapping

All attempts to swap the roles timed out because the
completion was done without releasing the port lock. Fixing
that by releasing the lock before starting to wait for the
completion.

Link: https://lore.kernel.org/linux-usb/037de7ac-e210-bdf5-ec7a-8c0c88a0be20@gmail.com/
Fixes: ad74b8649bea ("usb: typec: ucsi: Preliminary support for alternate modes")
Cc: stable@vger.kernel.org
Reported-and-tested-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20220405134824.68067-3-heikki.krogerus@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi.c