If the BAR is zero size, it indicates it was never successfully mapped.
Ensure that the BAR is valid during initialization before attempting to
use it.

Signed-off-by: Jon Derrick <[email protected]>
---
 drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c 
b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
index a3ba7f50198b..a3dcb09a40ee 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c
@@ -94,6 +94,8 @@ gf100_bar_oneinit_bar(struct gf100_bar *bar, struct 
gf100_barN *bar_vm,
                return ret;
 
        bar_len = device->func->resource_size(device, bar_nr);
+       if (!bar_len)
+               return -ENOMEM;
        if (bar_nr == 3 && bar->bar2_halve)
                bar_len >>= 1;
 
-- 
2.14.4

_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to