From patchwork Thu Nov 22 06:42:09 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tushar Behera X-Patchwork-Id: 1788281 Return-Path: X-Original-To: patchwork-linux-fbdev@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id B0074E018E for ; Thu, 22 Nov 2012 20:43:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756322Ab2KVUmt (ORCPT ); Thu, 22 Nov 2012 15:42:49 -0500 Received: from mail-pb0-f46.google.com ([209.85.160.46]:47685 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756446Ab2KVUmp (ORCPT ); Thu, 22 Nov 2012 15:42:45 -0500 Received: by mail-pb0-f46.google.com with SMTP id wy7so6075182pbc.19 for ; Thu, 22 Nov 2012 12:42:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=dnDD7D5JlkQfWhcgDbbmE+LDhcgu9MwTWQ1Kkct9Rsc=; b=g4YDGZEf6JHLRNOW3qI+7MpXbCvLgSJJnhOie8c7jfc9GL2oWYqnK4apaEXPF/04/B xfo21JsXP3l7hAWbNol4bH09PoGL51iq4TKC7sSEXW4qPGtXMYiHPAPyKFI340SQ7PdX /C0BQgbqEVLw3uqMw0ABIrFKwu/xm0lyVyblVmkfRjt4Ph2kgSmOTFkDrolPW74dXIk2 Aa7R/7G4C9cFvpUTvqaa2dld2Y3O8G/HqhPYRiKWsClfZZ2p+7zeEi2W+4CrAgqQEayb 1ezkxNd7sWe8tF5PNrhpWvLlNKBr+KQgPHPnrF+KOnxaB1quHOASUeDwmGOw/FZXL7Fg baug== Received: by 10.68.193.167 with SMTP id hp7mr1896458pbc.124.1353566918296; Wed, 21 Nov 2012 22:48:38 -0800 (PST) Received: from localhost.localdomain ([115.113.119.130]) by mx.google.com with ESMTPS id vn2sm1558688pbc.31.2012.11.21.22.48.31 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 21 Nov 2012 22:48:36 -0800 (PST) From: Tushar Behera To: linux-kernel@vger.kernel.org, linux-fbdev@vger.kernel.org Cc: FlorianSchandinat@gmx.de, linux@prisktech.co.nz, patches@linaro.org Subject: [PATCH 2/4] video: vt8500: Fix invalid free of devm_ allocated data Date: Thu, 22 Nov 2012 12:12:09 +0530 Message-Id: <1353566531-31251-3-git-send-email-tushar.behera@linaro.org> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1353566531-31251-1-git-send-email-tushar.behera@linaro.org> References: <1353566531-31251-1-git-send-email-tushar.behera@linaro.org> X-Gm-Message-State: ALoCoQmwOhQn2CZjlET26U7b3kKuu/ZbtMUEDO9H/ZB1ANaGDuyfddLcZt6elV3uDBdzps8ckKrn Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org While at it, also fix the related return statements. Signed-off-by: Tushar Behera --- drivers/video/vt8500lcdfb.c | 15 +++------------ 1 files changed, 3 insertions(+), 12 deletions(-) diff --git a/drivers/video/vt8500lcdfb.c b/drivers/video/vt8500lcdfb.c index 5777adc..2438368 100644 --- a/drivers/video/vt8500lcdfb.c +++ b/drivers/video/vt8500lcdfb.c @@ -294,8 +294,7 @@ static int __devinit vt8500lcd_probe(struct platform_device *pdev) + sizeof(u32) * 16, GFP_KERNEL); if (!fbi) { dev_err(&pdev->dev, "Failed to initialize framebuffer device\n"); - ret = -ENOMEM; - goto failed; + return -ENOMEM; } strcpy(fbi->fb.fix.id, "VT8500 LCD"); @@ -328,15 +327,13 @@ static int __devinit vt8500lcd_probe(struct platform_device *pdev) res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (res == NULL) { dev_err(&pdev->dev, "no I/O memory resource defined\n"); - ret = -ENODEV; - goto failed_fbi; + return -ENODEV; } res = request_mem_region(res->start, resource_size(res), "vt8500lcd"); if (res == NULL) { dev_err(&pdev->dev, "failed to request I/O memory\n"); - ret = -EBUSY; - goto failed_fbi; + return -EBUSY; } fbi->regbase = ioremap(res->start, resource_size(res)); @@ -466,10 +463,6 @@ failed_free_io: iounmap(fbi->regbase); failed_free_res: release_mem_region(res->start, resource_size(res)); -failed_fbi: - platform_set_drvdata(pdev, NULL); - kfree(fbi); -failed: return ret; } @@ -501,8 +494,6 @@ static int __devexit vt8500lcd_remove(struct platform_device *pdev) res = platform_get_resource(pdev, IORESOURCE_MEM, 0); release_mem_region(res->start, resource_size(res)); - kfree(fbi); - return 0; }