Re: [PATCH] dma_buf: remove dmabuf sysfs teardown before release/detach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 19.07.21 um 07:19 schrieb guangming.cao@xxxxxxxxxxxx:
From: Guangming Cao <Guangming.Cao@xxxxxxxxxxxx>

Dmabuf sysfs stat is used for dmabuf info track.
but these file maybe still use after buffer release/detach,
should clear it before buffer release/detach.

Please rebase on current drm-misc-next. The attachment sysfs files have been removed in the meantime.

Thanks,
Christian.


Signed-off-by: Guangming Cao <Guangming.Cao@xxxxxxxxxxxx>
---
  drivers/dma-buf/dma-buf.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index 510b42771974..9fa4620bd4bb 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -76,12 +76,12 @@ static void dma_buf_release(struct dentry *dentry)
  	 */
  	BUG_ON(dmabuf->cb_shared.active || dmabuf->cb_excl.active);
+ dma_buf_stats_teardown(dmabuf);
  	dmabuf->ops->release(dmabuf);
if (dmabuf->resv == (struct dma_resv *)&dmabuf[1])
  		dma_resv_fini(dmabuf->resv);
- dma_buf_stats_teardown(dmabuf);
  	module_put(dmabuf->owner);
  	kfree(dmabuf->name);
  	kfree(dmabuf);
@@ -875,10 +875,11 @@ void dma_buf_detach(struct dma_buf *dmabuf, struct dma_buf_attachment *attach)
  	dma_resv_lock(dmabuf->resv, NULL);
  	list_del(&attach->node);
  	dma_resv_unlock(dmabuf->resv);
+
+	dma_buf_attach_stats_teardown(attach);
  	if (dmabuf->ops->detach)
  		dmabuf->ops->detach(dmabuf, attach);
- dma_buf_attach_stats_teardown(attach);
  	kfree(attach);
  }
  EXPORT_SYMBOL_GPL(dma_buf_detach);




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux