| From 12e08beb32d64b6070b718630490db83dd321c8c Mon Sep 17 00:00:00 2001 |
| From: Jon Derrick <jonathan.derrick@intel.com> |
| Date: Fri, 15 Mar 2019 18:05:17 -0600 |
| Subject: drm/nouveau/bar/gf100: ensure BAR is mapped |
| |
| From: Jon Derrick <jonathan.derrick@intel.com> |
| |
| commit 12e08beb32d64b6070b718630490db83dd321c8c upstream. |
| |
| 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 <jonathan.derrick@intel.com> |
| Signed-off-by: Ben Skeggs <bskeggs@redhat.com> |
| Signed-off-by: Sushma Kalakota <sushmax.kalakota@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- 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 * |
| 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; |
| |