The dma_fence_ops function ops->release() has been deprecated because it prevents drivers from unloading. f_fs's implementation merely frees the fence. The dma_fence backend performs this deallocation automatically in the correct manner if ops->release() is not implemented.
The backend simultaneously correctly frees struct ffs_dma_fence since struct dma_fence is its base class. Remove ops->release(). Signed-off-by: Philipp Stanner <[email protected]> --- drivers/usb/gadget/function/f_fs.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index c64a268e98a4..e8672b37e890 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -1479,18 +1479,9 @@ static const char *ffs_dmabuf_get_timeline_name(struct dma_fence *fence) return ""; } -static void ffs_dmabuf_fence_release(struct dma_fence *fence) -{ - struct ffs_dma_fence *dma_fence = - container_of(fence, struct ffs_dma_fence, base); - - kfree(dma_fence); -} - static const struct dma_fence_ops ffs_dmabuf_fence_ops = { .get_driver_name = ffs_dmabuf_get_driver_name, .get_timeline_name = ffs_dmabuf_get_timeline_name, - .release = ffs_dmabuf_fence_release, }; static int ffs_dma_resv_lock(struct dma_buf *dmabuf, bool nonblock) -- 2.56.0
