Commit 1c338ed5 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/acr: return error when registering LSF if ACR not supported



This fixes an oops on TU11x GPUs where SEC2 attempts to register its falcon,
and triggers a NULL-pointer deref because ACR isn't yet supported.

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 86e18ebd
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -58,8 +58,12 @@ struct nvkm_acr_lsfw *
nvkm_acr_lsfw_add(const struct nvkm_acr_lsf_func *func, struct nvkm_acr *acr,
		 struct nvkm_falcon *falcon, enum nvkm_acr_lsf_id id)
{
	struct nvkm_acr_lsfw *lsfw = nvkm_acr_lsfw_get(acr, id);
	struct nvkm_acr_lsfw *lsfw;

	if (!acr)
		return ERR_PTR(-ENOSYS);

	lsfw = nvkm_acr_lsfw_get(acr, id);
	if (lsfw && lsfw->func) {
		nvkm_error(&acr->subdev, "LSFW %d redefined\n", id);
		return ERR_PTR(-EEXIST);