diff options
author | Christian König | 2023-11-14 13:37:09 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2023-12-08 08:51:15 +0100 |
commit | fc98ea2699c090e0377d16d733dca7a0b7508237 (patch) | |
tree | b3ef6d80fd4c0d1c64dd83eb727f9a9e2d78259d /include | |
parent | 4da1556996fa510dcc7787e21f5f42491c369b19 (diff) |
dma-buf: fix check in dma_resv_add_fence
commit 95ba893c9f4feb836ddce627efd0bb6af6667031 upstream.
It's valid to add the same fence multiple times to a dma-resv object and
we shouldn't need one extra slot for each.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Fixes: a3f7c10a269d5 ("dma-buf/dma-resv: check if the new fence is really later")
Cc: stable@vger.kernel.org # v5.19+
Link: https://patchwork.freedesktop.org/patch/msgid/20231115093035.1889-1-christian.koenig@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/dma-fence.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h index 3dfb994312b1..b79097b9070b 100644 --- a/include/linux/dma-fence.h +++ b/include/linux/dma-fence.h @@ -479,6 +479,21 @@ static inline bool dma_fence_is_later(struct dma_fence *f1, } /** + * dma_fence_is_later_or_same - return true if f1 is later or same as f2 + * @f1: the first fence from the same context + * @f2: the second fence from the same context + * + * Returns true if f1 is chronologically later than f2 or the same fence. Both + * fences must be from the same context, since a seqno is not re-used across + * contexts. + */ +static inline bool dma_fence_is_later_or_same(struct dma_fence *f1, + struct dma_fence *f2) +{ + return f1 == f2 || dma_fence_is_later(f1, f2); +} + +/** * dma_fence_later - return the chronologically later fence * @f1: the first fence from the same context * @f2: the second fence from the same context |