Message ID | 20250409140221.654892-3-akuchynski@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Fix thread synchronization issues | expand |
On Wed, Apr 09, 2025 at 02:02:21PM +0000, Andrei Kuchynski wrote: > 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@vger.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> > --- > drivers/usb/typec/ucsi/displayport.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/usb/typec/ucsi/displayport.c b/drivers/usb/typec/ucsi/displayport.c > index acd053d4e38c..8aae80b457d7 100644 > --- a/drivers/usb/typec/ucsi/displayport.c > +++ b/drivers/usb/typec/ucsi/displayport.c > @@ -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; > -- > 2.49.0.504.g3bcea36a83-goog
diff --git a/drivers/usb/typec/ucsi/displayport.c b/drivers/usb/typec/ucsi/displayport.c index acd053d4e38c..8aae80b457d7 100644 --- a/drivers/usb/typec/ucsi/displayport.c +++ b/drivers/usb/typec/ucsi/displayport.c @@ -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;
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@vger.kernel.org Fixes: af8622f6a585 ("usb: typec: ucsi: Support for DisplayPort alt mode") Signed-off-by: Andrei Kuchynski <akuchynski@chromium.org> --- drivers/usb/typec/ucsi/displayport.c | 2 ++ 1 file changed, 2 insertions(+)