summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorScott Thompson <postfail at hushmail.com>2007-08-25 18:17:49 +1000
committerDave Airlie <airlied@linux.ie>2007-08-25 18:17:49 +1000
commit0769d39c993145754852b517ddd9c11586f0a014 (patch)
tree8e8a404cb13a0bbb778b2f27f123d97e818e1c67 /drivers/char
parent22c806c23fe17f9c744d19edfe650cfd6496bc2a (diff)
drm: ioremap return value checks
Signed-off-by: Scott Thompson <postfail <at> hushmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/drm/drm_bufs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/char/drm/drm_bufs.c b/drivers/char/drm/drm_bufs.c
index 3d1ec8234b8b..c115b39b8517 100644
--- a/drivers/char/drm/drm_bufs.c
+++ b/drivers/char/drm/drm_bufs.c
@@ -177,8 +177,14 @@ static int drm_addmap_core(struct drm_device * dev, unsigned int offset,
MTRR_TYPE_WRCOMB, 1);
}
}
- if (map->type == _DRM_REGISTERS)
+ if (map->type == _DRM_REGISTERS) {
map->handle = ioremap(map->offset, map->size);
+ if (!map->handle) {
+ drm_free(map, sizeof(*map), DRM_MEM_MAPS);
+ return -ENOMEM;
+ }
+ }
+
break;
case _DRM_SHM:
list = drm_find_matching_map(dev, map);