From patchwork Thu Nov 22 10:22:54 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Egbert Eich X-Patchwork-Id: 1783251 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork2.kernel.org (Postfix) with ESMTP id 5A780DF24C for ; Thu, 22 Nov 2012 10:52:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 33818436D5 for ; Thu, 22 Nov 2012 02:52:58 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.187]) by gabe.freedesktop.org (Postfix) with ESMTP id 85E9FE5E07 for ; Thu, 22 Nov 2012 02:51:04 -0800 (PST) Received: from debian (p5DCF0728.dip0.t-ipconnect.de [93.207.7.40]) by mrelayeu.kundenserver.de (node=mreu2) with ESMTP (Nemesis) id 0MKv5w-1TbUN41zw8-000DIp; Thu, 22 Nov 2012 11:51:02 +0100 Received: from sles11.fritz.box (sles11.fritz.box [192.168.178.22]) by debian (Postfix) with ESMTP id 9E4F63F35E; Thu, 22 Nov 2012 11:50:59 +0100 (CET) From: Egbert Eich To: dri-devel@lists.freedesktop.org Subject: [PATCH v2 04/18] DRM/KMS/EDID: Don't fail when failing to allocate memory for EDID extensions. Date: Thu, 22 Nov 2012 05:22:54 -0500 Message-Id: <1353579788-30637-5-git-send-email-eich@suse.com> X-Mailer: git-send-email 1.7.7 In-Reply-To: <1353579788-30637-1-git-send-email-eich@suse.com> References: <1353356598-10634-1-git-send-email-eich@suse.de> <1353579788-30637-1-git-send-email-eich@suse.com> X-Provags-ID: V02:K0:ijw8nZxS44qBHQ+ofbVtHKl+RaKnBWh11rpdon3Dkpw mPcosnuyQZOXqF0pJew6h9ELSRN8ACjOwrQ83kgo5z1pJ71FOM qj32OQvBXKMU6G4cU8gaG44ijCFlsZVBEm7TH0hhOKdG4LonQa p7CQfYgJlzfCtg7m4mfgPX6J2ENBRnsM7TTobdTUg7oGifTc4h u+UGQI45VpHLLB1BTVp44HLpRpp3jRLsKq5mLZcG4OVkX7B71s P6WKPrbbneQomeQwpVnacm1lz27kxYdh44VGvkpnn6IfN7waBO iEQrh0rUjauEW1Vm7+osMj/7ygLD/hbFgZBvt/idd9TZ8KVzM4 GoyxC5+vUhZQSUmdgX/I= Cc: Egbert Eich , tiwai@suse.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org When we fail to allocate space for EDID extensions we should just warn, fix up the EDID block count and return the base block instead of failing. Signed-off-by: Egbert Eich --- drivers/gpu/drm/drm_edid.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 043ba42..a952cfe 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -347,8 +347,11 @@ drm_do_get_edid(struct drm_connector *connector, struct i2c_adapter *adapter) return block; new = krealloc(block, (block[EDID_EXTENSION_FLAG_OFFSET] + 1) * EDID_LENGTH, GFP_KERNEL); - if (!new) - goto out; + if (!new) { + dev_warn(connector->dev->dev, "%s: cannot allocate memory for %d EDID blocks: truncating.\n", + drm_get_connector_name(connector), block[EDID_EXTENSION_FLAG_OFFSET] + 1); + goto done_fix_extension_count; + } block = new; for (j = 1; j <= block[EDID_EXTENSION_FLAG_OFFSET]; j++) {