]> git.itanic.dy.fi Git - linux-stable/commit
drm/panfrost: Fix the error path in panfrost_mmu_map_fault_addr()
authorBoris Brezillon <boris.brezillon@collabora.com>
Fri, 5 Jan 2024 18:46:11 +0000 (21:46 +0300)
committerDmitry Osipenko <dmitry.osipenko@collabora.com>
Thu, 4 Apr 2024 15:11:01 +0000 (18:11 +0300)
commit1fc9af813b25e146d3607669247d0f970f5a87c3
treec046b90ed06318d445ab1a4037940567a71ef796
parentfddf09273807bf6e51537823aaae896e05f147f9
drm/panfrost: Fix the error path in panfrost_mmu_map_fault_addr()

Subject: [PATCH] drm/panfrost: Fix the error path in
 panfrost_mmu_map_fault_addr()

If some the pages or sgt allocation failed, we shouldn't release the
pages ref we got earlier, otherwise we will end up with unbalanced
get/put_pages() calls. We should instead leave everything in place
and let the BO release function deal with extra cleanup when the object
is destroyed, or let the fault handler try again next time it's called.

Fixes: 187d2929206e ("drm/panfrost: Add support for GPU heap allocations")
Cc: <stable@vger.kernel.org>
Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Co-developed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240105184624.508603-18-dmitry.osipenko@collabora.com
drivers/gpu/drm/panfrost/panfrost_mmu.c