Received: by 2002:a05:6358:f14:b0:e5:3b68:ec04 with SMTP id b20csp2722281rwj; Mon, 19 Dec 2022 08:05:45 -0800 (PST) X-Google-Smtp-Source: AMrXdXv3EH/Zwbbi2RMnDGQWm0yv+qHJspxH6zKmigWigD1BPRsi+koJvcTuD6QOsbOig4OLW03B X-Received: by 2002:a05:6402:f0b:b0:46f:fe46:acec with SMTP id i11-20020a0564020f0b00b0046ffe46acecmr312115eda.27.1671465945268; Mon, 19 Dec 2022 08:05:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671465945; cv=none; d=google.com; s=arc-20160816; b=aoodGClhuysg0fZk+P/Woaex1zEYnXeQtXE/pDMYsqDVCcMTreIb5UzkCMrXBge6fo nlpEKGYRRfwx57dG7swEFRn9uXz8YWIKji4PcF1xS2N5h/0RG/txOmfMN/F/Ffai8Udt E7ILDvxK1ViVe0iTvnPmwdygyNQqoOyqyIXQEYPn7VBYSU2iGbMoWPn3DUaMiehB2NcG bizciREOWn8+W4Q4fTlZEQ7T1jRHKxj1CMHXmL3WxtFvWPO+ytUz3WOj2KMxZC3pePRK 7sRlSk7ihmtZwtMIcRtxLW/zvbm99EAg145dJ801KzWRq0DDmWdV1LaJRdccwdbJ6+83 8uQQ== 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 :dkim-signature; bh=81trplEV7jZMsKHGfllYvDtclWPvoPR3tbHl1hqd4nE=; b=aDA02/N1aaosEjDt5LouKtX5PI2VlObqx81NRm/j9sKru/WKDOZaJqBCiJOYEMhts/ FdtVVBMkcJ1+ifOcmyC36AV5Dy76KQkFEqYzDlfwQyClQduYTPdUbT2pg28tXbQy0Eqq OKmEpq9z+gzYbbKaGcnT7cf7r+hQ85cPsiWQrNIWp0GUaznxSxOW1BjSiabLbrjI7Ud6 jKrWoSfvZEYGVbxywikq0lmJILpCNIcH9r55y0t7gNfawvKDEFsPm/HOcmEKgHnnvlA3 qOxtCzD4ZgupLXa+JMT+2eZSsit7i9I+RzeWSiBZy7s720Io67JPAnUVJFjcGbIoMb0O rwgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=post header.b=EwgKIW08; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=baikalelectronics.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i5-20020a05640242c500b0047a5b2e747csi2828417edc.273.2022.12.19.08.05.28; Mon, 19 Dec 2022 08:05:45 -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; dkim=pass header.i=@baikalelectronics.ru header.s=post header.b=EwgKIW08; 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=pass (p=REJECT sp=REJECT dis=NONE) header.from=baikalelectronics.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231831AbiLSOtt (ORCPT + 71 others); Mon, 19 Dec 2022 09:49:49 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47398 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232025AbiLSOr1 (ORCPT ); Mon, 19 Dec 2022 09:47:27 -0500 Received: from post.baikalelectronics.com (post.baikalelectronics.com [213.79.110.86]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 444FAF25; Mon, 19 Dec 2022 06:47:18 -0800 (PST) Received: from post.baikalelectronics.com (localhost.localdomain [127.0.0.1]) by post.baikalelectronics.com (Proxmox) with ESMTP id D9865E0EB2; Mon, 19 Dec 2022 17:47:17 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= baikalelectronics.ru; h=cc:cc:content-transfer-encoding :content-type:content-type:date:from:from:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=post; bh=81trplEV7jZMsKHGfllYvDtclWPvoPR3tbHl1hqd4nE=; b=EwgKIW087Sm0 K3wmXihprJudgT9GUwNyWmZFKRcIpMQXysNZfMECBMn9KlEEqkOK6GFwPak2cS7C vRa3Q2hE3XGq16chq8GNo1QnavlbwulhcgYtfpTlg2s1n5QIb4k+Od2d0vkQ1Hn3 +N0/0J9KvHJzqdinHJ1febpmT4NKskI= Received: from mail.baikal.int (mail.baikal.int [192.168.51.25]) by post.baikalelectronics.com (Proxmox) with ESMTP id C66D6E0E70; Mon, 19 Dec 2022 17:47:17 +0300 (MSK) Received: from localhost (10.8.30.14) by mail (192.168.51.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 19 Dec 2022 17:47:17 +0300 From: Serge Semin To: Gustavo Pimentel , Vinod Koul , Rob Herring , Bjorn Helgaas , Lorenzo Pieralisi , Cai Huoqing , Robin Murphy , Jingoo Han , Frank Li , Manivannan Sadhasivam CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , caihuoqing , Yoshihiro Shimoda , , , Subject: [PATCH v8 22/26] dmaengine: dw-edma: Skip cleanup procedure if no private data found Date: Mon, 19 Dec 2022 17:46:53 +0300 Message-ID: <20221219144658.26620-23-Sergey.Semin@baikalelectronics.ru> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221219144658.26620-1-Sergey.Semin@baikalelectronics.ru> References: <20221219144658.26620-1-Sergey.Semin@baikalelectronics.ru> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.8.30.14] X-ClientProxiedBy: MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS 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 DW eDMA driver private data is preserved in the passed DW eDMA chip info structure. If either probe procedure failed or for some reason the passed info object doesn't have private data pointer initialized we need to halt the DMA device cleanup procedure in order to prevent possible system crashes. Signed-off-by: Serge Semin Reviewed-by: Manivannan Sadhasivam Tested-by: Manivannan Sadhasivam Acked-by: Vinod Koul --- drivers/dma/dw-edma/dw-edma-core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/dma/dw-edma/dw-edma-core.c b/drivers/dma/dw-edma/dw-edma-core.c index e3671bfbe186..1906a836f0aa 100644 --- a/drivers/dma/dw-edma/dw-edma-core.c +++ b/drivers/dma/dw-edma/dw-edma-core.c @@ -1011,6 +1011,10 @@ int dw_edma_remove(struct dw_edma_chip *chip) struct dw_edma *dw = chip->dw; int i; + /* Skip removal if no private data found */ + if (!dw) + return -ENODEV; + /* Disable eDMA */ dw_edma_v0_core_off(dw); -- 2.38.1