[PATCH v5 3/3] drm: Add Generic USB Display driver
Noralf Trønnes
noralf at tronnes.org
Tue Feb 16 16:40:53 UTC 2021
Den 16.02.2021 14.36, skrev Oliver Neukum:
> Am Freitag, den 12.02.2021, 18:46 +0100 schrieb Noralf Trønnes:
>> +static void gud_connector_early_unregister(struct drm_connector *connector)
>> +{
>> + struct gud_connector *gconn = to_gud_connector(connector);
>> +
>> + backlight_device_unregister(gconn->backlight);
>> + cancel_work_sync(&gconn->backlight_work);
>> +}
>
> Hi,
>
> this looks like you are creating a race condition where the queued work
> may operate on an already unregistered backlight.
>
backlight_device_unregister() sets bd->ops = NULL. This means that
userspace can't update brightness anymore, and thus won't call into this
driver. After that it should be safe to flush/cancel the workqueue.
Unless I'm missing something here.
Noralf.
More information about the dri-devel
mailing list