drm/bridge: lt9611uxc: Cancel only driver's work
authorBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 1 Jun 2022 23:38:18 +0000 (16:38 -0700)
committerRobert Foss <robert.foss@linaro.org>
Tue, 7 Jun 2022 12:57:47 +0000 (14:57 +0200)
During device remove care needs to be taken that no work is pending
before it removes the underlying DRM bridge etc, but this can be done on
the specific work rather than waiting for the flush of the system-wide
workqueue.

Fixes: bc6fa8676ebb ("drm/bridge/lontium-lt9611uxc: move HPD notification out of IRQ handler")
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220601233818.1877963-1-bjorn.andersson@linaro.org
drivers/gpu/drm/bridge/lontium-lt9611uxc.c

index 3d62e6bf689264bf977b9b23247e53aff6801be3..310b3b1944919e0bdf2b3f6009c84cd0a41468b9 100644 (file)
@@ -982,7 +982,7 @@ static int lt9611uxc_remove(struct i2c_client *client)
        struct lt9611uxc *lt9611uxc = i2c_get_clientdata(client);
 
        disable_irq(client->irq);
-       flush_scheduled_work();
+       cancel_work_sync(&lt9611uxc->work);
        lt9611uxc_audio_exit(lt9611uxc);
        drm_bridge_remove(&lt9611uxc->bridge);