Commit 0529a46a authored by Alexandre Courbot's avatar Alexandre Courbot Committed by Ben Skeggs

drm/nouveau/device: call nvkm_device_fini if nvkm_device_init fails

nvkm_device_fini is never called if a failure occurs in
nvkm_device_init, even when unloading the module. This can lead to a
resources leak (one example is the Tegra interrupt which would never be
freed in that case). Fix this by calling nvkm_device_fini in
nvkm_device_init's failure path.
Signed-off-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 33bcb4c3
...@@ -2261,6 +2261,8 @@ nvkm_device_init(struct nvkm_device *device) ...@@ -2261,6 +2261,8 @@ nvkm_device_init(struct nvkm_device *device)
} while (--i >= 0); } while (--i >= 0);
fail: fail:
nvkm_device_fini(device, false);
nvdev_error(device, "init failed with %d\n", ret); nvdev_error(device, "init failed with %d\n", ret);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment