diff
--- a/drivers/gpu/drm/nouveau/nvkm/engine/firmware.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/firmware.c
@@ -7,6 +7,8 @@
 2 nvkm_firmware_ctor(const struct nvkm_firmware_func *func, const char *name,
 3 		   struct nvkm_device *device, const void *src, int len, struct nvkm_firmware *fw)
 5 	fw->func = func;
+> 	if (!fw->func)
+> 		return -EINVAL;
 6 	fw->name = name;
 7 	fw->device = device;
 8 	fw->len = len;

