Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp7418261rwn; Tue, 13 Sep 2022 20:53:12 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4eXGYEPDcRQQv8MefnL+H7VsZJXEliR8qQAzzsQPASjVTD649Wi7w7gd/brFPEXa466XPR X-Received: by 2002:a17:90b:48ce:b0:202:61d0:323 with SMTP id li14-20020a17090b48ce00b0020261d00323mr2606239pjb.157.1663127592544; Tue, 13 Sep 2022 20:53:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663127592; cv=none; d=google.com; s=arc-20160816; b=SdJcSIOUoyFWePLITd8LARX1GPbMAT57inOFgrosBm16c0E3yio33xqM1bPBySuUGr q8dg49NbUFXHT0rg8jpmwdfftzRzxvdffB6HJxp3EWallFXfW9EsxcF8Kg+dIan3ZexR mbA38nC9ehpcGHj8sZQdl/MlhL+d9k84DAvMZsnzuWXRQdAV8+cGwgfAfIgjZ7nGoQA5 fUFJnaYlvT4xYD2c4RkMGKne1iU+8QvdwGUdE8ZT5KUo9C6XRhj+UyyTFBW464dttdUh H6GixeiULq/V3tRiGz/UC4RCw5txhMVnV834YRlHcqa+kmgMNkLXVjK4kClCe75go7pu LGJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=8QAYH/3ngHnhGmCQWO8KLcEEMggz9swmqwVmm0XX0yE=; b=qSAHVjbEX2e+mvEzHGNb7kN0yWSlLM2AolOgF6aJBf4ke710SHEI7OQt8BiMaFwd4x Duuci14VN+a9qpNlKupmgtAdx5bx/kYSmedvMEKtcP5GdyKocEaQLIJH8RmWsJ1GZHun bWtlg8XXnwF4KAmT/OWiHctw3uZEPpSZVQYHEJi9CelEjMSItHVemjfx0tWZNMrujxCK mw8Q++h6Gcwtbsx4KXM0GjbZ9gvG2D4+V+yww6z3k0JtYJf8Fk7Qo9wE5jLQVGH/+o11 czSv4coKsHRqbRLUFvJnqOKnt1/xYaVGMVy2vO1ExPH6wSf4q/IXuwhY7zopabquVIqn 7rAA== 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mu9-20020a17090b388900b001fbbcd6f8eesi15544891pjb.73.2022.09.13.20.53.01; Tue, 13 Sep 2022 20:53:12 -0700 (PDT) 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229685AbiINDXj (ORCPT + 99 others); Tue, 13 Sep 2022 23:23:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229637AbiINDXc (ORCPT ); Tue, 13 Sep 2022 23:23:32 -0400 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD77954C9D; Tue, 13 Sep 2022 20:23:31 -0700 (PDT) Received: from dggpeml500024.china.huawei.com (unknown [172.30.72.55]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4MS5DJ70R9zcmyZ; Wed, 14 Sep 2022 11:19:44 +0800 (CST) Received: from dggpeml500010.china.huawei.com (7.185.36.155) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 14 Sep 2022 11:23:29 +0800 Received: from huawei.com (10.67.175.33) by dggpeml500010.china.huawei.com (7.185.36.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 14 Sep 2022 11:23:29 +0800 From: Lin Yujun To: , , , , , CC: , , Subject: [PATCH -next] slimbus: qcom-ngd: Add error handling in of_qcom_slim_ngd_register Date: Wed, 14 Sep 2022 11:19:53 +0800 Message-ID: <20220914031953.94061-1-linyujun809@huawei.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.175.33] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpeml500010.china.huawei.com (7.185.36.155) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 No error handling is performed when platform_device_add() return fails. Refer to the error handling of driver_set_override(), add error handling for platform_device_add(). Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Signed-off-by: Lin Yujun --- drivers/slimbus/qcom-ngd-ctrl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c index 0aa8408464ad..fb591990ddad 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1470,7 +1470,13 @@ static int of_qcom_slim_ngd_register(struct device *parent, ngd->pdev->dev.of_node = node; ctrl->ngd = ngd; - platform_device_add(ngd->pdev); + ret = platform_device_add(ngd->pdev); + if (ret) { + platform_device_put(ngd->pdev); + kfree(ngd); + of_node_put(node); + return ret; + } ngd->base = ctrl->base + ngd->id * data->offset + (ngd->id - 1) * data->size; -- 2.17.1