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 <acour...@nvidia.com>
---
 drm/nouveau/nvkm/subdev/pmu/base.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drm/nouveau/nvkm/subdev/pmu/base.c 
b/drm/nouveau/nvkm/subdev/pmu/base.c
index c7f432ca79ca..5548258a4510 100644
--- a/drm/nouveau/nvkm/subdev/pmu/base.c
+++ b/drm/nouveau/nvkm/subdev/pmu/base.c
@@ -85,7 +85,8 @@ nvkm_pmu_reset(struct nvkm_pmu *pmu)
        );
 
        /* Reset. */
-       pmu->func->reset(pmu);
+       if (pmu->func->reset)
+               pmu->func->reset(pmu);
 
        /* Wait for IMEM/DMEM scrubbing to be complete. */
        nvkm_msec(device, 2000,
-- 
git-series 0.8.10
_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to