Browse Source

drm/nouveau/pmu: make sure the reset hook exists before running it

Some PMU implementations (in particular the ones managed by secure
boot) may not have a reset() hook. Make sure we don't crash in that
case.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Alexandre Courbot 8 years ago
parent
commit
485a20eff2
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c

+ 2 - 1
drivers/gpu/drm/nouveau/nvkm/subdev/pmu/base.c

@@ -85,7 +85,8 @@ nvkm_pmu_reset(struct nvkm_pmu *pmu)
 	);
 	);
 
 
 	/* Reset. */
 	/* Reset. */
-	pmu->func->reset(pmu);
+	if (pmu->func->reset)
+		pmu->func->reset(pmu);
 
 
 	/* Wait for IMEM/DMEM scrubbing to be complete. */
 	/* Wait for IMEM/DMEM scrubbing to be complete. */
 	nvkm_msec(device, 2000,
 	nvkm_msec(device, 2000,