Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4850633ybb; Tue, 24 Mar 2020 06:31:21 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsYrOosGEiNVjppA3hdK/bvUiNgHlSXfHeY2lTZ4RwA42AXXvVXKR835JMNZD4B00/bbksn X-Received: by 2002:a9d:383:: with SMTP id f3mr22538283otf.165.1585056681115; Tue, 24 Mar 2020 06:31:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585056681; cv=none; d=google.com; s=arc-20160816; b=Uvf10DW3NBuRxBcGC17qGbeSfAaYadKEsDN//mvdEt8RqEyLv5vWOGRT2GmZ8S4RX2 zNeSeaPoh3Blq68Sz6pWjOWLyW4biSdzZR/vtcoAvAbqH+ADqLdmyXPz8FliTJ+c7P4O Fv635upY42I9JUet0BFHRFncSrKF0YBtrug4m+tzp4lO+4dmi5O7+qTzzw9oNLmr4HZg tv6eZ8d6Z5bigXA/oJryKR6gnhVUSXyh8nDmoxlsee9dOH+bbYnN+nv9z1WiGLdUvGZv Ic4eCCOzk60wDTrM6ZyHzeOgCb5eMmuAqOJVvPVtutLB6Ig4t3XUvypKd5vFY8RypwLN 5r2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:content-transfer-encoding:mime-version :message-id:date:subject:cc:from:dkim-signature; bh=H9W5asHoSbtI69dnrLRaFeOykWQKzVNx1ATwcX4bFlQ=; b=GXtGcTlc9jt/oSoo5h0RiZNBedxGCoHFrZ0QkRf0Piuyw1HW5n++ccbvIJMgGHsLG4 PjSxFbpnsZT1B6InKHkrHv+feLNbXpQWSzhmcKMsASWxv2k88rat+HJtjigN0oVsM3mL iyAG0zB4xEDUDFkBxPCbYeTgcxTstrq8++6JITk7TTq2gRHqzRRaOzYD3K8XE9Ejwo/0 +qyGGyFzvHc7zcTCKi3rB973/ynoLpJ+Mbq4rn0LCu2CgLJZM9Y21Jba2iwVPJWtSjPW X1/6XybwZMxfj6X79Se70Trv+jfqSkwPzOuHfsVpKtgx/dcWocH3ps/5jO/SdiWU2ihL DffA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=cTEo3+rd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s5si762778ood.66.2020.03.24.06.31.08; Tue, 24 Mar 2020 06:31:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=cTEo3+rd; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728184AbgCXNaM (ORCPT + 99 others); Tue, 24 Mar 2020 09:30:12 -0400 Received: from mail-pf1-f194.google.com ([209.85.210.194]:37135 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728980AbgCXNXW (ORCPT ); Tue, 24 Mar 2020 09:23:22 -0400 Received: by mail-pf1-f194.google.com with SMTP id h72so7055681pfe.4; Tue, 24 Mar 2020 06:23:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=H9W5asHoSbtI69dnrLRaFeOykWQKzVNx1ATwcX4bFlQ=; b=cTEo3+rd8HjtvQG84BxeLG5XwUFWbasowEp0PVZ6AJ/I5pEqpW4uEbt3Wuk2CT+SCt De2wcAyw3uw+IPmKMCPaFITdnf7zCEl9kM5er3APCB5PKEpirrz+U4dKfY0+2ZpWDm5g 9hz8y5gJDvNwfgilx3+eMuNGsqiEccHlKCNPyw1NrgHDn9o9O4JCm9posf1Sco1085zY IxsIbbH+dmxoTN3oX85CHQhhKxuVHo+gKMCzDjn5eqWW3qrUJ8BsBRQ/8HBXfXiAEtyt zb3NMACa4XBLpk1faZBKgIDplrvs0jDPyHvOvMMPnT8c0mA0OLTukH08sccg8nDez6xR 8iEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=H9W5asHoSbtI69dnrLRaFeOykWQKzVNx1ATwcX4bFlQ=; b=NsQdQP5AHbOHJgKH/XffMLrAnHpoSAqsPd13UIGYfPvI4sFdxy8TuRkB8d2vUynpMD UrVcHeQGkMOKsPCbZB8aT6UKA73yBXl8MdcXotO+xEjal1CkLB1fF6pNNQQWcUz1HzKD uYpdHBC0WDATYKMExHN9PRxbsz/TgXQBkal27InyMc8t2RC/aeQBoprMtc2me19BVhKT jo4GLEVF/pvHGTkGPKTUJrS0xSzwEC2M2jakK2qHIQjFTkm6j6zH+MMk3+B4y/0X172J ssfL/0RKx/v5iSjyDdF9F8Y1QbgsTIPRNH5rsZYl0rWN5RiuE3hFANyslLlBpQkCTPsC bDpg== X-Gm-Message-State: ANhLgQ0PhghWoq51pszZSB0LT6KMis5wrb6okZgzPrKA43vjsJnOlgXi tmhF1L1D4KBX6PuZ6dyn+hCtNq4K X-Received: by 2002:a62:1745:: with SMTP id 66mr30225015pfx.291.1585056200107; Tue, 24 Mar 2020 06:23:20 -0700 (PDT) Received: from suzukaze.ipads-lab.se.sjtu.edu.cn ([202.120.40.82]) by smtp.gmail.com with ESMTPSA id r189sm4187618pgr.31.2020.03.24.06.23.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Mar 2020 06:23:19 -0700 (PDT) From: Chuhong Yuan Cc: Kristoffer Ericson , Bartlomiej Zolnierkiewicz , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, Chuhong Yuan Subject: [PATCH v3] fbdev: s1d13xxxfb: add missed unregister_framebuffer in remove Date: Tue, 24 Mar 2020 21:23:11 +0800 Message-Id: <20200324132311.21729-1-hslester96@gmail.com> X-Mailer: git-send-email 2.25.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The driver calls register_framebuffer() in probe but does not call unregister_framebuffer() in remove. Rename current remove to __s1d13xxxfb_remove() for error handler. Then add a new remove to call unregister_framebuffer(). Signed-off-by: Chuhong Yuan --- Changes in v3: - Fix code style. - Set __s1d13xxxfb_remove() to return void. - Remove redundant check for info. drivers/video/fbdev/s1d13xxxfb.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/video/fbdev/s1d13xxxfb.c b/drivers/video/fbdev/s1d13xxxfb.c index 8048499e398d..d51ef7619115 100644 --- a/drivers/video/fbdev/s1d13xxxfb.c +++ b/drivers/video/fbdev/s1d13xxxfb.c @@ -721,9 +721,7 @@ static void s1d13xxxfb_fetch_hw_state(struct fb_info *info) xres, yres, xres_virtual, yres_virtual, is_color, is_dual, is_tft); } - -static int -s1d13xxxfb_remove(struct platform_device *pdev) +static void __s1d13xxxfb_remove(struct platform_device *pdev) { struct fb_info *info = platform_get_drvdata(pdev); struct s1d13xxxfb_par *par = NULL; @@ -749,9 +747,18 @@ s1d13xxxfb_remove(struct platform_device *pdev) pdev->resource[0].end - pdev->resource[0].start +1); release_mem_region(pdev->resource[1].start, pdev->resource[1].end - pdev->resource[1].start +1); +} + +static int s1d13xxxfb_remove(struct platform_device *pdev) +{ + struct fb_info *info = platform_get_drvdata(pdev); + + unregister_framebuffer(info); + __s1d13xxxfb_remove(pdev); return 0; } + static int s1d13xxxfb_probe(struct platform_device *pdev) { struct s1d13xxxfb_par *default_par; @@ -895,7 +902,7 @@ static int s1d13xxxfb_probe(struct platform_device *pdev) return 0; bail: - s1d13xxxfb_remove(pdev); + __s1d13xxxfb_remove(pdev); return ret; } -- 2.25.2