Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61e024c8 authored by Vikash Garodia's avatar Vikash Garodia
Browse files

msm: vidc: Add OCMEM check during power collapse



Targets which does not have ocmem will fail while
performing any ocmem related operations like alloc, free
ocmem. Such failure can abort power collapse.
Add checks to avoid such operation for targets
which do not have ocmem.

Change-Id: Ib021241a1f3027db47accaf49e1b35d6bdb3d06c
Signed-off-by: default avatarVikash Garodia <vgarodia@codeaurora.org>
parent 8f7903c0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1024,6 +1024,9 @@ static int __alloc_ocmem(void *dev, unsigned long size, bool locked)
			__func__, device, size);
		return -EINVAL;
	}
	if (!device->res->ocmem_size)
		return rc;

	ocmem_buffer = device->resources.ocmem.buf;
	if (!ocmem_buffer ||
		ocmem_buffer->len < size) {
@@ -1078,6 +1081,8 @@ static int venus_hfi_free_ocmem(void *dev)
			__func__, device);
		return -EINVAL;
	}
	if (!device->res->ocmem_size)
		return rc;

	if (device->resources.ocmem.buf) {
		rc = ocmem_free(OCMEM_VIDEO, device->resources.ocmem.buf);
@@ -2864,6 +2869,8 @@ static int venus_hfi_unset_free_ocmem(struct venus_hfi_device *device)
		dprintk(VIDC_ERR, "Invalid param: %p\n", device);
		return -EINVAL;
	}
	if (!device->res->ocmem_size)
		return rc;

	init_completion(&release_resources_done);
	rc = venus_hfi_unset_ocmem(device);