From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753066AbdEPUO4 (ORCPT ); Tue, 16 May 2017 16:14:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27286 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753022AbdEPUOx (ORCPT ); Tue, 16 May 2017 16:14:53 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 28D03448D8E Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=eric.auger@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 28D03448D8E Subject: Re: [PATCH 0/2] PCI: Workaround for bus reset on Cavium cn8xxx root ports To: David Daney , Bjorn Helgaas , linux-pci@vger.kernel.org References: <20170516001736.4001-1-david.daney@cavium.com> Cc: Jon Masters , Robert Richter , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org From: Auger Eric Message-ID: Date: Tue, 16 May 2017 22:14:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20170516001736.4001-1-david.daney@cavium.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 16 May 2017 20:14:53 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi David, On 16/05/2017 02:17, David Daney wrote: > With the recent improvements in arm64 and vfio-pci, we are seeing > failures like this (on cn8890 based systems): > > [ 235.622361] Unhandled fault: synchronous external abort (0x96000210) at 0xfffffc00c1000100 > [ 235.630625] Internal error: : 96000210 [#1] PREEMPT SMP > . > . > . > [ 236.208820] [] pci_generic_config_read+0x38/0x9c > [ 236.214992] [] thunder_pem_config_read+0x54/0x1e8 > [ 236.221250] [] pci_bus_read_config_dword+0x74/0xa0 > [ 236.227596] [] pci_find_next_ext_capability.part.15+0x40/0xb8 > [ 236.234896] [] pci_find_ext_capability+0x20/0x30 > [ 236.241068] [] pci_restore_vc_state+0x34/0x88 > [ 236.246979] [] pci_restore_state.part.37+0x2c/0x1fc > [ 236.253410] [] pci_dev_restore+0x4c/0x50 > [ 236.258887] [] pci_bus_restore+0x24/0x4c > [ 236.264362] [] pci_try_reset_bus+0x7c/0xa0 > [ 236.270021] [] vfio_pci_ioctl+0xc34/0xc3c [vfio_pci] > [ 236.276547] [] vfio_device_fops_unl_ioctl+0x20/0x30 [vfio] > [ 236.283587] [] do_vfs_ioctl+0xac/0x744 > [ 236.288890] [] SyS_ioctl+0x84/0x98 > [ 236.293846] [] __sys_trace_return+0x0/0x4 > > These are caused by the inability of the PCIe root port and Intel > e1000e to sucessfully do a bus reset. I tested the series on Cavium ThunderX with an e1000e device and it fixes the above issue. Feel free to add Reviewed-by: Eric Auger Thanks Eric > > The proposed fix is to not do a bus reset on these systems. > > David Daney (2): > PCI: Allow PCI_DEV_FLAGS_NO_BUS_RESET to be used on bus device. > PCI: Avoid bus reset for Cavium cn8xxx root ports. > > drivers/pci/pci.c | 4 ++++ > drivers/pci/quirks.c | 8 ++++++++ > 2 files changed, 12 insertions(+) >