diff options
| author | Ingo Molnar <mingo@kernel.org> | 2024-10-21 08:14:15 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2024-10-21 08:14:15 +0200 |
| commit | d1fb8a78b2ff1fe4e9478c75b4fbec588a73c1b0 (patch) | |
| tree | 1cf2e78b8e7be71a47c8b978dea915533e965cbe /drivers/gpu/drm/i915/display/intel_hdcp.c | |
| parent | af0c8b2bf67b25756f27644936e74fd9a6273bd2 (diff) | |
| parent | 42f7652d3eb527d03665b09edac47f85fb600924 (diff) | |
| download | linux-d1fb8a78b2ff1fe4e9478c75b4fbec588a73c1b0.tar.gz linux-d1fb8a78b2ff1fe4e9478c75b4fbec588a73c1b0.tar.bz2 linux-d1fb8a78b2ff1fe4e9478c75b4fbec588a73c1b0.zip | |
Merge tag 'v6.12-rc4' into sched/core, to resolve conflict
Overlapping fixes solving the same bug slightly differently:
7266f0a6d3bb fs/bcachefs: Fix __wait_on_freeing_inode() definition of waitqueue entry
3b80552e7057 bcachefs: __wait_for_freeing_inode: Switch to wait_bit_queue_entry
Use the upstream version.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_hdcp.c')
| -rw-r--r-- | drivers/gpu/drm/i915/display/intel_hdcp.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index 6980b98792c2..377939de0ff4 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -1094,7 +1094,8 @@ static void intel_hdcp_update_value(struct intel_connector *connector, hdcp->value = value; if (update_property) { drm_connector_get(&connector->base); - queue_work(i915->unordered_wq, &hdcp->prop_work); + if (!queue_work(i915->unordered_wq, &hdcp->prop_work)) + drm_connector_put(&connector->base); } } @@ -2524,7 +2525,8 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state, mutex_lock(&hdcp->mutex); hdcp->value = DRM_MODE_CONTENT_PROTECTION_DESIRED; drm_connector_get(&connector->base); - queue_work(i915->unordered_wq, &hdcp->prop_work); + if (!queue_work(i915->unordered_wq, &hdcp->prop_work)) + drm_connector_put(&connector->base); mutex_unlock(&hdcp->mutex); } @@ -2541,7 +2543,9 @@ void intel_hdcp_update_pipe(struct intel_atomic_state *state, */ if (!desired_and_not_enabled && !content_protection_type_changed) { drm_connector_get(&connector->base); - queue_work(i915->unordered_wq, &hdcp->prop_work); + if (!queue_work(i915->unordered_wq, &hdcp->prop_work)) + drm_connector_put(&connector->base); + } } |
