From patchwork Sat Dec 10 11:35:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe JAILLET X-Patchwork-Id: 32014 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1264304wrr; Sat, 10 Dec 2022 03:41:35 -0800 (PST) X-Google-Smtp-Source: AA0mqf4nS9Trg0facHxc0PsauEFG6wPBm3XvW/Edompzt8jmb6ztmxB7e9i2tibRvJUO7fWjCHNw X-Received: by 2002:a17:906:4e8e:b0:7c1:458b:a946 with SMTP id v14-20020a1709064e8e00b007c1458ba946mr3929299eju.0.1670672495368; Sat, 10 Dec 2022 03:41:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670672495; cv=none; d=google.com; s=arc-20160816; b=u+B35KcaAAgFS1GZX5oloJaFSJ0i9rtYXe2iqewrevaNcb+41bS8TK8Zzpueb0jvqR Dex23GEx0q79DPAOB3+vJfADdTkfT1XGb5kQrPFg9y7CeFmH7CDV89SG8b8S5dTLVKVK IY0pp2NhCMaXZomL/Ttf9/2A1moSrfBAPgf4xasLxTiRB7bTpujcQ39m/RxbAvXKmUnf 6cyHMHGXKNA2uPJd+t/4c3+0o3xMULN60IWLNo/HWF0ApTf3RnxbOvl8Mky0+jJh8mHl y+Vh6QVhLYvAoBPbTgWShMhKc5xLEY0a/wOXN2QLr8TdpQ7HrSCdDwxtC4dzfeAaZGvi DkSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=yBeCAMYK6Weri0SCdQJldRx3rab0xlnVEPsi+v+XUy0=; b=fiKR0uiNlK1BVseC0kC0N1SC63V3JIidL0VtIknv1ZmSVc/G7E5lTmBoDHFqKKGfxR EliN5TC++gkpVoEiPVBZklV/5wEb73YezyG3EB1hByUVhG4WIyw1uYs2hCZDJgTMQltE SixQNt/2DBGrQBz3fV2euzrn+QL3KTYJimohkWkyEAmyYFmXEh3x0GuiURUu6/4AQTbW N4kj+D+RsIHH0czNklEPCt9FIERnwB1+V8RSyN19xzL/a1Fapu87YDvFXmnpAOdpZ8Gn 3NvwmKGmFvOwxWaMN4Q+V6ZK3skWfioXqBaNmaDNl6ZiDYdY5PEoYNGnq7Gj5OsTVBCx oJtA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id he33-20020a1709073da100b007add405cccdsi2144672ejc.444.2022.12.10.03.40.34; Sat, 10 Dec 2022 03:41:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229811AbiLJLfk (ORCPT + 99 others); Sat, 10 Dec 2022 06:35:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229683AbiLJLfh (ORCPT ); Sat, 10 Dec 2022 06:35:37 -0500 Received: from smtp.smtpout.orange.fr (smtp-13.smtpout.orange.fr [80.12.242.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8DCBD1FCFA for ; Sat, 10 Dec 2022 03:35:35 -0800 (PST) Received: from pop-os.home ([86.243.100.34]) by smtp.orange.fr with ESMTPA id 3y8gpaJiRNF1W3y8gp0xrM; Sat, 10 Dec 2022 12:35:32 +0100 X-ME-Helo: pop-os.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sat, 10 Dec 2022 12:35:32 +0100 X-ME-IP: 86.243.100.34 From: Christophe JAILLET To: Michal Januszewski , Helge Deller , Antonino Daplas , Andrew Morton Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH v2 1/2] video: fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() Date: Sat, 10 Dec 2022 12:35:22 +0100 Message-Id: <0eba6acb70fa1270d8cf798afd11ce342aa7e8e1.1670671944.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751827082422819547?= X-GMAIL-MSGID: =?utf-8?q?1751827082422819547?= If an error occurs after a successful uvesafb_init_mtrr() call, it must be undone by a corresponding arch_phys_wc_del() call, as already done in the remove function. This has been added in the remove function in commit 63e28a7a5ffc ("uvesafb: Clean up MTRR code") Fixes: 8bdb3a2d7df4 ("uvesafb: the driver core") Signed-off-by: Christophe JAILLET --- Unsure about the Fixes tag, maybe it is 63e28a7a5ffc Change in v2: - add arch_phys_wc_del() at the right place in the error handling path v1 (a long time ago!): https://lore.kernel.org/all/dd2a4806d3a570ab84947806f38a494454fd0245.1622994310.git.christophe.jaillet@wanadoo.fr/ --- drivers/video/fbdev/uvesafb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index 00d789b6c0fa..0e3cabbec4b4 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -1758,6 +1758,7 @@ static int uvesafb_probe(struct platform_device *dev) out_unmap: iounmap(info->screen_base); out_mem: + arch_phys_wc_del(par->mtrr_handle); release_mem_region(info->fix.smem_start, info->fix.smem_len); out_reg: release_region(0x3c0, 32); From patchwork Sat Dec 10 11:35:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christophe JAILLET X-Patchwork-Id: 32013 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1263187wrr; Sat, 10 Dec 2022 03:38:49 -0800 (PST) X-Google-Smtp-Source: AA0mqf4sWdzAWGzsB+jgb3ZS40//Z3QQfi/Vrbtu3EOL0duodTL+ziE4JdD0xQl9GgmxvbFexT7j X-Received: by 2002:a17:90a:a012:b0:219:b034:941c with SMTP id q18-20020a17090aa01200b00219b034941cmr9142206pjp.18.1670672328775; Sat, 10 Dec 2022 03:38:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670672328; cv=none; d=google.com; s=arc-20160816; b=AZcuW6dOO+rUDL6sh+ELN/1AqjDdUCIL38lzqsbberk9yPPJTmFeP5p1rus1XyY8eO y9Y1u+h/oV4UYj/0H/RSFb97SzkC1OqrWeY7Qggyxxrpdi4GhccrpPyA9YggPPQmd1M+ pLzFI3UKGD+SumyAqyCYeRQd8CJGrmaE2y+JTkhUaRGqZwcXeBUmQ8eZpSLyp4VuY/Qo NkE3Up9bo0ouMunegMwGYl+xzruq4jRn89lOP3pbz+6G9eTZACsoktkdUbIu6a3tvp/5 OB1N7fko1YtX/fjonwaEgkmB1bL1gv0+jPDBluQw1vswpszwFEXhKMzhFAe18qY4stoT nQgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=V9xgqpNbpYuaedL71SkHn1jJh+MD74J2lR1hFciej0w=; b=pX/QaRZTgalnhbz64J9fdjIY8ZRXyNgPAIbzC7UJI7bFDXMx98aoQPvmd+Re+i906S C6+tWv2kRaDg8v2jY8322b8VifAB4yUKEj0Y1GdcBr7CtZXA78TNUyoG2gBiEUjfUd7E EWOwot+wL+TIR4gKTegL3BqZXOj32OcR5IlnRlD1j7oKZfxwUbvHIEmgmHMFFVKo/PGr MFh1whprFtLvLESx0/t4YoUyKn5/RsPNnNvtjI+QuCm+bcZjSh997zdtB4316Rub+1JH 1gyKfChhmNTViYMwzvmz3h1/6Po1IlZaZN3SlvdilOvlLSp7UwGo4n3nIy6t4VezWt4N n86Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r23-20020a632b17000000b00476e8fca283si4305971pgr.725.2022.12.10.03.38.35; Sat, 10 Dec 2022 03:38:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229777AbiLJLfi (ORCPT + 99 others); Sat, 10 Dec 2022 06:35:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229524AbiLJLfh (ORCPT ); Sat, 10 Dec 2022 06:35:37 -0500 Received: from smtp.smtpout.orange.fr (smtp-14.smtpout.orange.fr [80.12.242.14]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8DE121FCFF for ; Sat, 10 Dec 2022 03:35:35 -0800 (PST) Received: from pop-os.home ([86.243.100.34]) by smtp.orange.fr with ESMTPA id 3y8gpaJiRNF1W3y8jp0xrl; Sat, 10 Dec 2022 12:35:33 +0100 X-ME-Helo: pop-os.home X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sat, 10 Dec 2022 12:35:33 +0100 X-ME-IP: 86.243.100.34 From: Christophe JAILLET To: Michal Januszewski , Helge Deller Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: [PATCH v2 2/2] video: fbdev: uvesafb: Simplify uvesafb_remove() Date: Sat, 10 Dec 2022 12:35:23 +0100 Message-Id: <72b61f099e846dbb16c13ffb50c877ed196a308f.1670671944.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.34.1 In-Reply-To: <0eba6acb70fa1270d8cf798afd11ce342aa7e8e1.1670671944.git.christophe.jaillet@wanadoo.fr> References: <0eba6acb70fa1270d8cf798afd11ce342aa7e8e1.1670671944.git.christophe.jaillet@wanadoo.fr> MIME-Version: 1.0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1751826908218918556?= X-GMAIL-MSGID: =?utf-8?q?1751826908218918556?= When the remove() function is called, we know that the probe() function has successfully been executed. So 'info' is known to be not NULL. Simplify the code accordingly. Signed-off-by: Christophe JAILLET --- Change in v2: - new patch --- drivers/video/fbdev/uvesafb.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index 0e3cabbec4b4..2bb95c35ab2a 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -1777,25 +1777,23 @@ static int uvesafb_probe(struct platform_device *dev) static int uvesafb_remove(struct platform_device *dev) { struct fb_info *info = platform_get_drvdata(dev); + struct uvesafb_par *par = info->par; - if (info) { - struct uvesafb_par *par = info->par; + sysfs_remove_group(&dev->dev.kobj, &uvesafb_dev_attgrp); + unregister_framebuffer(info); + release_region(0x3c0, 32); + iounmap(info->screen_base); + arch_phys_wc_del(par->mtrr_handle); + release_mem_region(info->fix.smem_start, info->fix.smem_len); + fb_destroy_modedb(info->monspecs.modedb); + fb_dealloc_cmap(&info->cmap); - sysfs_remove_group(&dev->dev.kobj, &uvesafb_dev_attgrp); - unregister_framebuffer(info); - release_region(0x3c0, 32); - iounmap(info->screen_base); - arch_phys_wc_del(par->mtrr_handle); - release_mem_region(info->fix.smem_start, info->fix.smem_len); - fb_destroy_modedb(info->monspecs.modedb); - fb_dealloc_cmap(&info->cmap); + kfree(par->vbe_modes); + kfree(par->vbe_state_orig); + kfree(par->vbe_state_saved); - kfree(par->vbe_modes); - kfree(par->vbe_state_orig); - kfree(par->vbe_state_saved); + framebuffer_release(info); - framebuffer_release(info); - } return 0; }