]> git.ipfire.org Git - thirdparty/linux.git/commit
dpll: zl3073x: use __dpll_device_change_ntf() and remove change_work
authorIvan Vecera <ivecera@redhat.com>
Tue, 26 May 2026 07:45:24 +0000 (09:45 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 28 May 2026 12:05:29 +0000 (14:05 +0200)
commitd733f519f6443540f8359461a34e3b0042099bbe
treec351ece34456fd0d2e3301203b44d73d02020e1f
parent20040b2a3cb992f84d3db4c086b909eb9b906b31
dpll: zl3073x: use __dpll_device_change_ntf() and remove change_work

The change_work was introduced to send device change notifications
from DPLL device callbacks without deadlocking on dpll_lock, since
the callbacks are already invoked under that lock. Now that
__dpll_device_change_ntf() is exported for callers that already
hold dpll_lock, use it directly and remove the change_work
infrastructure entirely.

This eliminates a race condition where change_work could be
re-scheduled after cancel_work_sync() during device teardown,
potentially causing the handler to dereference a freed or NULL
dpll_dev pointer.

Fixes: 9363b4837659 ("dpll: zl3073x: Allow to configure phase offset averaging factor")
Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Link: https://patch.msgid.link/20260526074525.1451008-3-ivecera@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/dpll/zl3073x/dpll.c
drivers/dpll/zl3073x/dpll.h