mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
media: rockchip: ispp: fix mmu err due to buf free for multi dev
Change-Id: Ib9729562168208d6163fb5363c0d14788346c8f0 Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -343,7 +343,7 @@ end:
|
||||
|
||||
void rkispp_free_common_dummy_buf(struct rkispp_device *dev)
|
||||
{
|
||||
mutex_lock(&dev->hw_dev->dev_lock);
|
||||
if (atomic_read(&dev->hw_dev->refcnt))
|
||||
return;
|
||||
rkispp_free_buffer(dev, &dev->hw_dev->dummy_buf);
|
||||
mutex_unlock(&dev->hw_dev->dev_lock);
|
||||
}
|
||||
|
||||
@@ -304,8 +304,6 @@ static int __maybe_unused rkispp_runtime_suspend(struct device *dev)
|
||||
struct rkispp_device *ispp_dev = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
||||
rkispp_free_common_dummy_buf(ispp_dev);
|
||||
|
||||
mutex_lock(&ispp_dev->hw_dev->dev_lock);
|
||||
ret = pm_runtime_put_sync(ispp_dev->hw_dev->dev);
|
||||
mutex_unlock(&ispp_dev->hw_dev->dev_lock);
|
||||
|
||||
@@ -1387,6 +1387,7 @@ static void rkispp_destroy_dummy_buf(struct rkispp_stream *stream)
|
||||
nr_free_buf(dev);
|
||||
fec_free_buf(dev);
|
||||
rkispp_event_handle(dev, CMD_FREE_POOL, NULL);
|
||||
rkispp_free_common_dummy_buf(dev);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user