diff --git a/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c b/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c index 9f88bc488..0ca4fe7c1 100644 --- a/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c +++ b/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c @@ -41,6 +41,11 @@ u32 nvgpu_aperture_mask_raw(struct gk20a *g, enum nvgpu_aperture aperture, { u32 ret_mask = 0; + if ((aperture == APERTURE_INVALID) || (aperture >= APERTURE_MAX_ENUM)) { + nvgpu_do_assert_print(g, "Bad aperture"); + return 0; + } + /* * Some iGPUs treat sysmem (i.e SoC DRAM) as vidmem. In these cases the * "sysmem" aperture should really be translated to VIDMEM. @@ -59,14 +64,6 @@ u32 nvgpu_aperture_mask_raw(struct gk20a *g, enum nvgpu_aperture aperture, case APERTURE_VIDMEM: ret_mask = vidmem_mask; break; - case APERTURE_INVALID: - nvgpu_do_assert_print(g, "Bad aperture"); - ret_mask = 0; - break; - case APERTURE_MAX_ENUM: - nvgpu_do_assert_print(g, "Bad aperture"); - ret_mask = 0; - break; default: nvgpu_do_assert_print(g, "Bad aperture"); ret_mask = 0;