Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2986323pxk; Sun, 6 Sep 2020 22:48:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyLBBN2MJGaljZUw8AAN12xpE+WNRIfGUPeLppcpHI2LJxnntiX4QDZvflCFmJsqxIO9PuF X-Received: by 2002:a17:906:72cd:: with SMTP id m13mr18542832ejl.186.1599457714478; Sun, 06 Sep 2020 22:48:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599457714; cv=none; d=google.com; s=arc-20160816; b=dNGSCj8rTYtNXHNkArwl/hDpIoQVJF96ssSVsCbDua9CROL3apI/X9splLo1ltoQZu HzMjbGk6gZLL4ZyOeNGQ19GSbgbR11MDNM64qvvZKqt2/JeBpLarXc4KkRmIlgq22rPO yTMrpFdTd+twhoSv4B2MQEoxp6LsifnKk0crqH7YphShrcaZiAG2wqQxiElmhmiiIqyz PIJtYLsuz2Rc23U4+wRaAHTyE+pO5XrLtEigA1iaw9unj/5SfZ9g7uH29UgzX/o4Kii7 irDIGjoaTiErpZVat8TDwiiOdWWIKUaHJD3ff7926Q0XAGhCpixMAA0jCvE5jQ/VJe2Q kltg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=EjJs7p9WJNA1KZdGYvIK5Cw9S496Kb+kDkYZnGATJEk=; b=0PqTVmJhm3HM5Jmoyz+0aMKpxxDWCoAY3BBgRvxMRZenULEpV89sP/lffOvacx0Rn+ V9U+tPOy8Mj6Z8bHStf09rB0TUlKcT2+u4iRMcnPYMjKsDpVZi/KyX+Gd4zswgiizUVO Z4QVX4C/7OOJQVgpUyDt5gThc/6p1Be5Nqs90xz3nS387uAL/r2FngWs/qlcNDTzwOgF OVUJZK6BYDZyg9fiRTf4buu/kKDQxkrmZpqA30ebe17/5w/GNcoHRlVL8/9M3BLYcEX3 uuC+pahV54dpskN37+zlR+Aiuy6QYf77+ejvJpg83+J+hnc/b/YtEzUHkiig/OZrjBQ2 ysAQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s20si10204628eji.313.2020.09.06.22.48.12; Sun, 06 Sep 2020 22:48:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726819AbgIGFqI (ORCPT + 99 others); Mon, 7 Sep 2020 01:46:08 -0400 Received: from inva021.nxp.com ([92.121.34.21]:32898 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726710AbgIGFqB (ORCPT ); Mon, 7 Sep 2020 01:46:01 -0400 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 8EAFB200C66; Mon, 7 Sep 2020 07:45:59 +0200 (CEST) Received: from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com [165.114.16.14]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 5E2FF2000E9; Mon, 7 Sep 2020 07:45:54 +0200 (CEST) Received: from localhost.localdomain (mega.ap.freescale.net [10.192.208.232]) by invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id A7A6D402D7; Mon, 7 Sep 2020 07:45:47 +0200 (CEST) From: Zhiqiang Hou To: linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, bhelgaas@google.com, robh+dt@kernel.org, shawnguo@kernel.org, leoyang.li@nxp.com, lorenzo.pieralisi@arm.com, gustavo.pimentel@synopsys.com Cc: minghuan.Lian@nxp.com, mingkai.hu@nxp.com, roy.zang@nxp.com, Hou Zhiqiang Subject: [PATCH 1/7] PCI: dwc: Fix a bug of the case dw_pci->ops is NULL Date: Mon, 7 Sep 2020 13:37:55 +0800 Message-Id: <20200907053801.22149-2-Zhiqiang.Hou@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200907053801.22149-1-Zhiqiang.Hou@nxp.com> References: <20200907053801.22149-1-Zhiqiang.Hou@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hou Zhiqiang The dw_pci->ops may be a NULL, and fix it by adding one more check. Signed-off-by: Hou Zhiqiang --- drivers/pci/controller/dwc/pcie-designware.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index b723e0cc41fb..bdf8938da9cd 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -140,7 +140,7 @@ u32 dw_pcie_read_dbi(struct dw_pcie *pci, u32 reg, size_t size) int ret; u32 val; - if (pci->ops->read_dbi) + if (pci->ops && pci->ops->read_dbi) return pci->ops->read_dbi(pci, pci->dbi_base, reg, size); ret = dw_pcie_read(pci->dbi_base + reg, size, &val); @@ -155,7 +155,7 @@ void dw_pcie_write_dbi(struct dw_pcie *pci, u32 reg, size_t size, u32 val) { int ret; - if (pci->ops->write_dbi) { + if (pci->ops && pci->ops->write_dbi) { pci->ops->write_dbi(pci, pci->dbi_base, reg, size, val); return; } @@ -200,7 +200,7 @@ u32 dw_pcie_read_atu(struct dw_pcie *pci, u32 reg, size_t size) int ret; u32 val; - if (pci->ops->read_dbi) + if (pci->ops && pci->ops->read_dbi) return pci->ops->read_dbi(pci, pci->atu_base, reg, size); ret = dw_pcie_read(pci->atu_base + reg, size, &val); @@ -214,7 +214,7 @@ void dw_pcie_write_atu(struct dw_pcie *pci, u32 reg, size_t size, u32 val) { int ret; - if (pci->ops->write_dbi) { + if (pci->ops && pci->ops->write_dbi) { pci->ops->write_dbi(pci, pci->atu_base, reg, size, val); return; } @@ -283,7 +283,7 @@ void dw_pcie_prog_outbound_atu(struct dw_pcie *pci, int index, int type, { u32 retries, val; - if (pci->ops->cpu_addr_fixup) + if (pci->ops && pci->ops->cpu_addr_fixup) cpu_addr = pci->ops->cpu_addr_fixup(pci, cpu_addr); if (pci->iatu_unroll_enabled) { @@ -470,7 +470,7 @@ int dw_pcie_link_up(struct dw_pcie *pci) { u32 val; - if (pci->ops->link_up) + if (pci->ops && pci->ops->link_up) return pci->ops->link_up(pci); val = readl(pci->dbi_base + PCIE_PORT_DEBUG1); -- 2.17.1