]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
usb: typec: ucsi: displayport: Fix NULL pointer access
authorAndrei Kuchynski <akuchynski@chromium.org>
Thu, 24 Apr 2025 08:44:29 +0000 (08:44 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 May 2025 15:40:04 +0000 (17:40 +0200)
This patch ensures that the UCSI driver waits for all pending tasks in the
ucsi_displayport_work workqueue to finish executing before proceeding with
the partner removal.

Cc: stable <stable@kernel.org>
Fixes: af8622f6a585 ("usb: typec: ucsi: Support for DisplayPort alt mode")
Signed-off-by: Andrei Kuchynski <akuchynski@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20250424084429.3220757-3-akuchynski@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/displayport.c

index acd053d4e38c309375965d0a73f48c5530ef745b..8aae80b457d74dce41e3ec1d1e2e92a5ee3bd575 100644 (file)
@@ -299,6 +299,8 @@ void ucsi_displayport_remove_partner(struct typec_altmode *alt)
        if (!dp)
                return;
 
+       cancel_work_sync(&dp->work);
+
        dp->data.conf = 0;
        dp->data.status = 0;
        dp->initialized = false;