summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_edid.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-04-20 13:59:33 +0200
committerDave Airlie <airlied@redhat.com>2012-04-20 13:59:33 +0200
commitfc48f169dd2e461e687a63c3a69ade57b4ece59e (patch)
treea1ba2cb9d778b5edb7efdac9ff30e5efe02e827a /drivers/gpu/drm/drm_edid.c
parentdrm/edid: Generate modes from extra_modes for range descriptors (diff)
downloadlinux-fc48f169dd2e461e687a63c3a69ade57b4ece59e.tar.xz
linux-fc48f169dd2e461e687a63c3a69ade57b4ece59e.zip
drm/edid: add missing NULL checks.
Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/drm_edid.c')
-rw-r--r--drivers/gpu/drm/drm_edid.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 38ee2f22304c..bad2f11aa224 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -779,6 +779,8 @@ drm_mode_std(struct drm_connector *connector, struct edid *edid,
* secondary GTF curve. Please don't do that.
*/
mode = drm_gtf_mode(dev, hsize, vsize, vrefresh_rate, 0, 0);
+ if (!mode)
+ return NULL;
if (drm_mode_hsync(mode) > drm_gtf2_hbreak(edid)) {
drm_mode_destroy(dev, mode);
mode = drm_gtf_mode_complex(dev, hsize, vsize,
@@ -1048,6 +1050,8 @@ drm_gtf_modes_for_range(struct drm_connector *connector, struct edid *edid,
for (i = 0; i < num_extra_modes; i++) {
const struct minimode *m = &extra_modes[i];
newmode = drm_gtf_mode(dev, m->w, m->h, m->r, 0, 0);
+ if (!newmode)
+ return modes;
if (!mode_in_range(newmode, edid, timing)) {
drm_mode_destroy(dev, newmode);
@@ -1073,6 +1077,8 @@ drm_cvt_modes_for_range(struct drm_connector *connector, struct edid *edid,
for (i = 0; i < num_extra_modes; i++) {
const struct minimode *m = &extra_modes[i];
newmode = drm_cvt_mode(dev, m->w, m->h, m->r, rb, 0, 0);
+ if (!newmode)
+ return modes;
if (!mode_in_range(newmode, edid, timing)) {
drm_mode_destroy(dev, newmode);