Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2367585imm; Thu, 7 Jun 2018 09:27:05 -0700 (PDT) X-Google-Smtp-Source: ADUXVKJBXfyMyoWti6lvn3rMsBeKTZwNjW4Lm0LfWwtW+HF+9kRtDannIMK4EF2AyW1YC87sSUdM X-Received: by 2002:a17:902:1ea:: with SMTP id b97-v6mr2767298plb.58.1528388825873; Thu, 07 Jun 2018 09:27:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528388825; cv=none; d=google.com; s=arc-20160816; b=KX0LJX7CxvEdkQToaMNAOcF1jJf32kywQ0xxh7CHvE33rJeZKNgopiZnK6h+N+REp2 WxbbQPqS9fqDdSnhzN3BcIhr6de8XlVFkS249ExZot7v/Vfi4u0ax6ja02PUMiBn4zTh QWPtXwi6bjKsyw7gSiYd37VriZDdWsTggpXamPYfRj0xwxl2HxULEhLLgcoUI6NNX1op X1ahtDlEWVzzzqDIAkE9PNUsn9UppH7XO/ajz1mNjtICrn/PexD7/eI8cSb7jA+lpNLN N117FEakS3EervrzlPq22VAcXpm7kxROB0MSj8kZsjkR3GyZ0iSB3f+ugY3eyqicSNuP DKfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=7aG8PZPFhOKGY6vD3oE0A66CczBmuG1jBUwy+kLvECA=; b=pAqacMp1sd+xEW/IQGnXN6l6KDJvpY6y6gbThH9nwKiVb7k/73en8jCYjHJlYaAgJG z64tuj1u/aUhcFikHnjynKGlkSSR+htUGXeRNEZ54xdC7VhIT+Dk2ZLlLpEmaTZq5NZO mStuQ7BK6w15595ZZh/QBIu87GR0fIre6BgoV3MYdpEULDG/xMBx+GdncWf4EbEMnKc+ h7XqZKRbSi8AKIIf8AxdZ3B5B5/Nz40IDCgDokN27CbxYWlRfJ5MY4PT2dmo6kX/lwoa m1euvz7mN2Nu/Z9QyKUn4Bczq4Bqge6tdKxCdDpc7p9sWruG5s6TixxMf+gh5YeEQ275 Vr0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=KWGCRTkG; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g86-v6si25841757pfj.283.2018.06.07.09.26.51; Thu, 07 Jun 2018 09:27:05 -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=pass header.i=@kernel.org header.s=default header.b=KWGCRTkG; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932670AbeFGNVo (ORCPT + 99 others); Thu, 7 Jun 2018 09:21:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:48358 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932462AbeFGNVm (ORCPT ); Thu, 7 Jun 2018 09:21:42 -0400 Received: from localhost (173-25-171-118.client.mchsi.com [173.25.171.118]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6D8502086E; Thu, 7 Jun 2018 13:21:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1528377701; bh=h9cFA1P3D+vZC6T7fcxE7lr79c7rSWjPhPLxThXNv8w=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=KWGCRTkGQUKP4ZiL/rRZq3G33/CH83m6cOMsyji12Cxk00nMtWMumyvfX8fJWrY1r UlAhhMpzOxNtwKSU83y+3djTAMqDNolavbSXeLyogMpbe/muoPmsQbZm1TJ6BHOt77 mdXA1bjfZFCb3s9byO9xKrOZxRwPbTpSOU16A/bc= Date: Thu, 7 Jun 2018 08:21:40 -0500 From: Bjorn Helgaas To: Oza Pawandeep Cc: Bjorn Helgaas , Philippe Ombredanne , Thomas Gleixner , Greg Kroah-Hartman , Kate Stewart , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Dongdong Liu , Keith Busch , Wei Zhang , Sinan Kaya , Timur Tabi Subject: Re: [PATCH NEXT 1/6] PCI/AER: Take mask into account while clearing error bits Message-ID: <20180607132140.GA15137@bhelgaas-glaptop.roam.corp.google.com> References: <1528351234-26914-1-git-send-email-poza@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1528351234-26914-1-git-send-email-poza@codeaurora.org> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 07, 2018 at 02:00:29AM -0400, Oza Pawandeep wrote: > PCIe ERR_NONFATAL and ERR_FATAL are uncorrectable errors, and clearing > uncorrectable error bits should take error mask into account. > > Signed-off-by: Oza Pawandeep If/when you repost these, please include a [0/6] cover letter with an overview of the purpose of the series. I assume these are for v4.19, so I'll look at them after the merge window. If they fix issues introduced during the v4.18 merge window, we may be able to merge them during the v4.18 -rc cycle. In this case, I would need specifics about what exactly the problems are. > diff --git a/drivers/pci/pcie/aer/aerdrv.c b/drivers/pci/pcie/aer/aerdrv.c > index 377e576..8cbc62b 100644 > --- a/drivers/pci/pcie/aer/aerdrv.c > +++ b/drivers/pci/pcie/aer/aerdrv.c > @@ -341,8 +341,6 @@ static pci_ers_result_t aer_root_reset(struct pci_dev *dev) > */ > static void aer_error_resume(struct pci_dev *dev) > { > - int pos; > - u32 status, mask; > u16 reg16; > > /* Clean up Root device status */ > @@ -350,11 +348,7 @@ static void aer_error_resume(struct pci_dev *dev) > pcie_capability_write_word(dev, PCI_EXP_DEVSTA, reg16); > > /* Clean AER Root Error Status */ > - pos = dev->aer_cap; > - pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, &status); > - pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_SEVER, &mask); > - status &= ~mask; /* Clear corresponding nonfatal bits */ > - pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status); > + pci_cleanup_aer_uncorrect_error_status(dev); > } > > /** > diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c > index 946f3f6..309f3f5 100644 > --- a/drivers/pci/pcie/aer/aerdrv_core.c > +++ b/drivers/pci/pcie/aer/aerdrv_core.c > @@ -50,13 +50,17 @@ EXPORT_SYMBOL_GPL(pci_disable_pcie_error_reporting); > int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev) > { > int pos; > - u32 status; > + u32 status, mask; > > pos = dev->aer_cap; > if (!pos) > return -EIO; > > + /* Clean AER Root Error Status */ > + pos = dev->aer_cap; > pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, &status); > + pci_read_config_dword(dev, pos + PCI_ERR_UNCOR_SEVER, &mask); > + status &= ~mask; /* Clear corresponding nonfatal bits */ > if (status) > pci_write_config_dword(dev, pos + PCI_ERR_UNCOR_STATUS, status); > > -- > 2.7.4 >