[{"id":1760220,"web_url":"http://patchwork.ozlabs.org/comment/1760220/","msgid":"<20170830084012.19d91759@w520.home>","list_archive_url":null,"date":"2017-08-30T14:40:12","subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","submitter":{"id":4123,"url":"http://patchwork.ozlabs.org/api/people/4123/","name":"Alex Williamson","email":"alex.williamson@redhat.com"},"content":"On Wed, 30 Aug 2017 16:24:54 +0200\nJan Glauber <jglauber@cavium.com> wrote:\n\n> Root ports of cn8xxx do not function after a slot reset when used with\n> some e1000e and LSI HBA devices. Add a quirk to prevent slot reset on\n> these root ports.\n> \n> Signed-off-by: Jan Glauber <jglauber@cavium.com>\n> ---\n>  drivers/pci/quirks.c | 16 ++++++++++++++++\n>  1 file changed, 16 insertions(+)\n> \n> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c\n> index 85191b8..6679971 100644\n> --- a/drivers/pci/quirks.c\n> +++ b/drivers/pci/quirks.c\n> @@ -845,6 +845,22 @@ static void quirk_cavium_sriov_rnm_link(struct pci_dev *dev)\n>  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa018, quirk_cavium_sriov_rnm_link);\n>  #endif\n>  \n> +/*\n> + * Root port on some Cavium CN8xxx chips do not successfully complete\n> + * a bus reset when used with certain types of child devices. Config\n> + * space access to the child may quit responding. Flag all devices under\n> + * the secondary bus as non-resettable.\n> + */\n> +static void quirk_CN8xxx_secondary_bus(struct pci_dev *dev)\n> +{\n> +\tstruct pci_dev *pdev;\n> +\n> +\tdev_warn(&dev->dev, \"Cavium CN8xxx quirk detected; reset for devices on secondary bus disabled\\n\");\n> +\tlist_for_each_entry(pdev, &dev->subordinate->devices, bus_list)\n> +\t\tpdev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;\n> +}\n> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa100, quirk_CN8xxx_secondary_bus);\n> +\n>  /*\n>   * Some settings of MMRBC can lead to data corruption so block changes.\n>   * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide\n\n\nThis doesn't seem reliable, doesn't the user just need to remove and\nreprobe the slot and the device would re-appear without this flag set?\nThanks,\n\nAlex","headers":{"Return-Path":"<linux-pci-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=alex.williamson@redhat.com"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xj7TF5KJGz9s8P\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 00:40:17 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751581AbdH3OkQ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 30 Aug 2017 10:40:16 -0400","from mx1.redhat.com ([209.132.183.28]:50844 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751357AbdH3OkO (ORCPT <rfc822;linux-pci@vger.kernel.org>);\n\tWed, 30 Aug 2017 10:40:14 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 2FBBEC047B81;\n\tWed, 30 Aug 2017 14:40:14 +0000 (UTC)","from w520.home (ovpn-116-27.phx2.redhat.com [10.3.116.27])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 2ABF887F86;\n\tWed, 30 Aug 2017 14:40:13 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 2FBBEC047B81","Date":"Wed, 30 Aug 2017 08:40:12 -0600","From":"Alex Williamson <alex.williamson@redhat.com>","To":"Jan Glauber <jglauber@cavium.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, david.daney@cavium.com,\n\tJon Masters <jcm@redhat.com>, Robert Richter <robert.richter@cavium.com>,\n\tlinux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org","Subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","Message-ID":"<20170830084012.19d91759@w520.home>","In-Reply-To":"<20170830142454.10971-4-jglauber@cavium.com>","References":"<20170830142454.10971-1-jglauber@cavium.com>\n\t<20170830142454.10971-4-jglauber@cavium.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tWed, 30 Aug 2017 14:40:14 +0000 (UTC)","Sender":"linux-pci-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-pci.vger.kernel.org>","X-Mailing-List":"linux-pci@vger.kernel.org"}},{"id":1760789,"web_url":"http://patchwork.ozlabs.org/comment/1760789/","msgid":"<20170831094052.GA15906@hc>","list_archive_url":null,"date":"2017-08-31T09:40:52","subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","submitter":{"id":68474,"url":"http://patchwork.ozlabs.org/api/people/68474/","name":"Jan Glauber","email":"jan.glauber@caviumnetworks.com"},"content":"On Wed, Aug 30, 2017 at 08:40:12AM -0600, Alex Williamson wrote:\n> On Wed, 30 Aug 2017 16:24:54 +0200\n> Jan Glauber <jglauber@cavium.com> wrote:\n> \n> > Root ports of cn8xxx do not function after a slot reset when used with\n> > some e1000e and LSI HBA devices. Add a quirk to prevent slot reset on\n> > these root ports.\n> > \n> > Signed-off-by: Jan Glauber <jglauber@cavium.com>\n> > ---\n> >  drivers/pci/quirks.c | 16 ++++++++++++++++\n> >  1 file changed, 16 insertions(+)\n> > \n> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c\n> > index 85191b8..6679971 100644\n> > --- a/drivers/pci/quirks.c\n> > +++ b/drivers/pci/quirks.c\n> > @@ -845,6 +845,22 @@ static void quirk_cavium_sriov_rnm_link(struct pci_dev *dev)\n> >  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa018, quirk_cavium_sriov_rnm_link);\n> >  #endif\n> >  \n> > +/*\n> > + * Root port on some Cavium CN8xxx chips do not successfully complete\n> > + * a bus reset when used with certain types of child devices. Config\n> > + * space access to the child may quit responding. Flag all devices under\n> > + * the secondary bus as non-resettable.\n> > + */\n> > +static void quirk_CN8xxx_secondary_bus(struct pci_dev *dev)\n> > +{\n> > +\tstruct pci_dev *pdev;\n> > +\n> > +\tdev_warn(&dev->dev, \"Cavium CN8xxx quirk detected; reset for devices on secondary bus disabled\\n\");\n> > +\tlist_for_each_entry(pdev, &dev->subordinate->devices, bus_list)\n> > +\t\tpdev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;\n> > +}\n> > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa100, quirk_CN8xxx_secondary_bus);\n> > +\n> >  /*\n> >   * Some settings of MMRBC can lead to data corruption so block changes.\n> >   * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide\n> \n> \n> This doesn't seem reliable, doesn't the user just need to remove and\n> reprobe the slot and the device would re-appear without this flag set?\n\nNo, I tried before to disable the slot with \"echo 0 > /sys/bus/pci/slots/3/power\"\nbut that does not work as it is not supported.\n\nI'm not familiar with the quirk types, would another one be better\nsuited here (even if we don't have the problem you descibed)?\n\nthanks,\nJan\n\n\n> Thanks,\n> \n> Alex","headers":{"Return-Path":"<linux-pci-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com\n\theader.i=@CAVIUMNETWORKS.onmicrosoft.com header.b=\"WNJPhced\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=Jan.Glauber@cavium.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjcns4LDHz9sRW\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 19:41:21 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751103AbdHaJlJ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tThu, 31 Aug 2017 05:41:09 -0400","from mail-bl2nam02on0076.outbound.protection.outlook.com\n\t([104.47.38.76]:45664\n\t\"EHLO NAM02-BL2-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1750883AbdHaJlH (ORCPT <rfc822;linux-pci@vger.kernel.org>);\n\tThu, 31 Aug 2017 05:41:07 -0400","from hc (88.67.130.225) by BN3PR07MB2578.namprd07.prod.outlook.com\n\t(10.167.5.6) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tThu, 31 Aug 2017 09:41:02 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=/xLOUm7Uv0cEDa8eu5VPeQBeNowHvlfY0RGHJjGCAK0=;\n\tb=WNJPhcedaqkB+KHMLjs7oJMGU1mTU77CHXiZPaD4Fe/NbNPq5VF96KdBF6FJpezQmuO/oGlxveuDygex1KjqnnTf7mQTHKraJvkPR24B89HRCnuDDQr/K0tiUAXgBceivwrWnj6bBswW/bTnSVJa6fLTUL8hec13A9Lp4CsdM1M=","Date":"Thu, 31 Aug 2017 11:40:52 +0200","From":"Jan Glauber <jan.glauber@caviumnetworks.com>","To":"Alex Williamson <alex.williamson@redhat.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, david.daney@cavium.com,\n\tJon Masters <jcm@redhat.com>, Robert Richter <robert.richter@cavium.com>,\n\tlinux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org","Subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","Message-ID":"<20170831094052.GA15906@hc>","References":"<20170830142454.10971-1-jglauber@cavium.com>\n\t<20170830142454.10971-4-jglauber@cavium.com>\n\t<20170830084012.19d91759@w520.home>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170830084012.19d91759@w520.home>","User-Agent":"Mutt/1.5.21 (2010-09-15)","X-Originating-IP":"[88.67.130.225]","X-ClientProxiedBy":"DB6PR1001CA0003.EURPRD10.PROD.OUTLOOK.COM (10.171.79.13)\n\tTo BN3PR07MB2578.namprd07.prod.outlook.com (10.167.5.6)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"1f932ce7-bb23-44b0-da6f-08d4f054658f","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BN3PR07MB2578; ","X-Microsoft-Exchange-Diagnostics":["1; BN3PR07MB2578;\n\t3:nSrvAST/9cYuYW2grpLEAIRqAI5P/uBFG0YW2+OlKAN3BOAzg8YFFS/1iDnW9E3vopZrT+iPR7nWogqJgz6+uAZSaxWA5B2/SVbn9gqvSvyjv14qQHstKWxaMGmFEhXoZyWKIas0+X5nVf/9/WpCvhI/kltB0nkZAVmdrBpjmOx9Af46/HVp/n5FH5LNng7R75MlPCTylzL/7Ni8rh1005k93mwW028tFj9q6itY9xQl6vd1sXI7LlZzkZsBTs+s;\n\t25:qw18Pl+/Ul3C0SSaeqfRvZ7q4YK1o5B6m6wDJ/Xazzt05kyU0ZgoKDNhPqePLDC38aGKjdYGjdatgBoksOY58Yg/mU29Va//uQHx8XlJinhh54+JrwJhGh0rI7qIjE3bGloZUMcRQfdB6IC4/MleBqKxI8uaNx1Gafis8hfoP7UpE276JGe9JxPseLdDm4YSS00sM2BkkwbdFw2ZkoLOfTBcUfJUgGgXBYFsqqhKgwcI/982vFCYgZUhjtQxcmo75rp2SIeYg9PchUroLnfJano9ihCMdcBvHNsFC0T33o7o6g4bXXf/zyvEm8xQzUycjCRTmSIXyDAErD8yqx0ELQ==;\n\t31:/x5EcMTh6jMX/AOU5NnzJoyHIeRwx6jwShaIz96fCEneR5FSQtrPQJ4LpcxC8Dy/6radRfrAmzBkeifS+Ue9W+XcehOiPjbUgxfwbegSZU9zDtmoeqlbN3/FkSz/NDE0bFuGkBlthQfBz3a8KGz5Ucn+5iDglbenwWmfAVMOAmxAo71tLoyJ7NoB1dDRqJ7HwOanLXRz83/QLOUoyJGw3/LdaTdNpSlrGW71VUmKQ2U=","1; BN3PR07MB2578;\n\t20:MPw1T0YR+2bhZe+NNUxo7Ps4R57l0vS4v/QSJNj11FsIlRG2IIh/GRz17QVKtj3BBZFoScSHBZVbLqsialhplCiWQMiYqg1oC96MDWZ0j8WxzU5iX6y2VGuGmEe+jsO2EVyEH80nT0d4pjlrIEuV4yr07DBlS31xJXBAZwcIOiGCCobUCXHurJzvMCG2+6XbLjtm5TR4ruijESx9ic6Cfg1bRvSI4NkJJozJPFPMTBqAVxnbZMU6D+uw1exdmDfe+qLXhz9xRNvU/TiTp7P0u5XZDuwVKiJMEl5PsF64ubx2lQ8+NUMpbfc1/eENs33hyJEtSxrfcghnLHIUQAvSTAoje35735esgeC/JWnf7ZYSgMCYbUXBZhDamNZTz+SamxbvmI4pTBvH3nW5oMCeS0JujfNsrlKehER9dtosLZltM4ozg9om9Z0Ou0yKZoPZoEwS5+rDPIrm3Dh27FSd4dfyAnVmNvf0MhhA5y4FW3asgyYI9YsWHGu6gZ+NcJjp1DtNP80Fz8koN5976QjhWeUZaBCWnNvknl4NBX5uuom4BfTd1H+xqsi8vJkqLOJVzEA3BxB31MbcgR+ipNfho6CeFljQh8Z54VV103eqy2Y=;\n\t4:m7cdwYQeouBCDxnjtnaZzpbpYX3WOSPGp/Yp/yFlxH+Rf89HWmuFwi/Lkdj8Am/V12TqnEWHiR96ZwpIb1Z3TT/bHOiJ7P7vaSdKFFsoDjZ93gbOMMoPpPyewRodpScYVfz9vTvg12DGNmbVgGyCA4u4r8aVhYlWX68kbU57X09Cyig/IhEcuyxPTiYaTaZOVIni7t/eUT6em0FrZcwgnOTQVIPN/LWYDrbCllRK9gzYWDAG+IZRN46/Vewo5WZt","1; BN3PR07MB2578;\n\t23:X1LeNR48iyYmpgjyK+QeoQcY/AjM+mCHMN5EVOCFymCulqN4tL6dxs4YCPIRrlu8DUiXl2h0/d84qiNKCNdjjQtUFqjHl9HHj8ISZx1K7wFKVqQF6AFp/5HK+FkMqXLkP3IPQ5Op2jUBhfn1yqVtTGfdL/VSbdlKbZi9Z3dtfnEtOM2JpR7ceJZ9f7Rx9N8VI259GBr0BPZWZ91dcbIsEP6S47ZaSTec1S0NWcbKcni17ydQNV0WT9OyiM3A2qYYYOlDWkHq9OqZakXzzn/B93Y0qtkUNt2TFbApjLa9ygOaBy/zfoYNCriM/Lnpjxq6P30m2XXgSNoD7gzrWrwcbrfjH9VErzeH7XojgszEmJocrANPCZ4yWGnkFQlq8tOIT7v3iGzX3dJ7CIO/n1oJg9pz9414qZS4ejSkc2gm5Wg7Ntl7JCbTdq4byRpr/O7ZyjVgcYX4JSK5sdKKzBjBUanYzo4cWk2/Ays4RijXlpHbmQEQlycnKJNJYj+3nl5uf827fLQKRed2ts/JRvr6BIZaOtafJkGaM2+9LwsOx2O6JK8kEweS9c8IemuPX1VVmoXFOQJ2+yyTCKMPwIx6vBXBAUkqOViu8verNTwIOUNRvOoOV/lbmZu68LwrgrRdaOUisrgohGcKx5BugMPQrDaykI5EN90eHSspr8nEPWfAI2ivQWBCCf1G39tVEJk3pHcASFKcWt6oFI5K2VxJTTwvMBCetGFapniypWlddVBDgmQtY7l0dArTIEgqH83bXikuknFXnFO64j7g1MEbb1xeOnQfcpEbwyWmsLzgCnkmG+6rx8XtR1iEpErlMC2PKtG96a+n2XDE72ctCpTL0Dd+PR6ubM1N4OOpVgERaKo0dSNnj/9eW2ODy+XzcZdMgst9M0ij7hM6Fr9nNu9EUuqJbuO/Dj6k84xsu+fCFZWu5pPUx4S3AmLKsWGPQGRe15LLe4rO9dGr7i9fNvPxEdLcLwBHzsQDzfOwM2DHbGCezN5NbO3zCmy4Z6enQMfUxwKEaXtpT+DFIshXqMBHbfBZbcOvg9v6rGE2hKzGGtJFLtNe73Ri7yE5UoAH0IZCFfqs7yG+/i2bofb/82Gnr6V/ZWIM4IeFxOp+fpAJvQ0VfOAR+JsblQ5GpHB04V+8rUy0lTVz2VQNrMVl1xtSPbvj9luTaysS41FVFaoFYKCXYGFaM+j9a7awj/qp0PYd","1; BN3PR07MB2578;\n\t6:p4AjLKgQ6w4QEC0Wj4BD3oWbOGxfyrNtIMHbE3/UMw9p6w/3RJUj1tx5kNWl3+pfF3/CIW0iYM+lAqL2KcuAIC+aUckpIb9xaw5zGZ7oewfwVdPm9fHgL+KVDEqnKZtK80TITUUj9l/vDHwWJekwtGZ38JIfxDejLk0muetw3GG8X5RPr9o3rq9ChlPGvNtJsGoyWIpF5cvC6eejPbybSPmOTYBwG+br1VhdyTC7ivWgN1ul/pniCAZrGHZF6lx45RCH3vTAXn0GEUoJEqH76rgOpTsj0A3p3kjYKUHMKDDAkVcOZBF+XuNoHmbSmU/l5lInRna2AsFTaQmSI7InkQ==;\n\t5:Qnwpnvze+CUbfoBgT/5inEBVrpPSvb/ngspEktxbKUcCE2k9mMZ1U3KOinxx2nTJA3s69p6N63fN6f1/ITw23ktHC2PA4x2qfixvBOF0fQlSYXgyfs29i2ntkN3JWjYnO/qYhAMdB7XOwMHDSZpwAQ==;\n\t24:53p2YRkDVjzON4r9AhnGTEWzVKnOcVwnxK76H0Zmw1hEfRTmAqzxpdA08sfV82rzffXLd8OUtzVKuE2X7hgonfS/nQ4YyT4ChYIL3H6rxD4=;\n\t7:dN/RPxbx0nNNDlRRLFKMM/O2W+uYxUHOJ9tizeXFHiRV1fcOY5nQ8074xEYMGhnljBJ+56iGxVnn8bMgbD7u8fZogUxss1F67Eb7fU0SHUevMGbSVb9fKmpmG2+fczudfIh4XqClEzpeLI9k23qC8nd7nN5Fqv+z3Qyeq+BoRgevdMCcnrnhCIPI9jkCWRHsLLKGzloWrJadeHjRxWwTCMuyLdrbihI8x3TgLXiiDTo="],"X-MS-TrafficTypeDiagnostic":"BN3PR07MB2578:","X-Exchange-Antispam-Report-Test":"UriScan:;","X-Microsoft-Antispam-PRVS":"<BN3PR07MB25782631BC3BDA373F9C8BBE919D0@BN3PR07MB2578.namprd07.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(20161123564025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BN3PR07MB2578; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BN3PR07MB2578; ","X-Forefront-PRVS":"04163EF38A","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6009001)(199003)(24454002)(189002)(305945005)(33656002)(97736004)(8936002)(8676002)(4001350100001)(68736007)(83506001)(81166006)(81156014)(229853002)(2906002)(50986999)(76176999)(7736002)(6916009)(54356999)(6666003)(2950100002)(42882006)(101416001)(72206003)(189998001)(5660300001)(4326008)(3846002)(6116002)(23726003)(33716001)(42186005)(50466002)(478600001)(105586002)(106356001)(25786009)(6496005)(6246003)(66066001)(110136004)(53936002)(54906002)(1076002)(47776003)(9686003)(55016002)(18370500001)(32563001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR07MB2578; H:hc; FPR:;\n\tSPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"caviumnetworks.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"31 Aug 2017 09:41:02.1052\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"711e4ccf-2e9b-4bcf-a551-4094005b6194","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"BN3PR07MB2578","Sender":"linux-pci-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-pci.vger.kernel.org>","X-Mailing-List":"linux-pci@vger.kernel.org"}},{"id":1761141,"web_url":"http://patchwork.ozlabs.org/comment/1761141/","msgid":"<20170831100130.5c8a922e@w520.home>","list_archive_url":null,"date":"2017-08-31T16:01:30","subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","submitter":{"id":4123,"url":"http://patchwork.ozlabs.org/api/people/4123/","name":"Alex Williamson","email":"alex.williamson@redhat.com"},"content":"On Thu, 31 Aug 2017 11:40:52 +0200\nJan Glauber <jan.glauber@caviumnetworks.com> wrote:\n\n> On Wed, Aug 30, 2017 at 08:40:12AM -0600, Alex Williamson wrote:\n> > On Wed, 30 Aug 2017 16:24:54 +0200\n> > Jan Glauber <jglauber@cavium.com> wrote:\n> >   \n> > > Root ports of cn8xxx do not function after a slot reset when used with\n> > > some e1000e and LSI HBA devices. Add a quirk to prevent slot reset on\n> > > these root ports.\n> > > \n> > > Signed-off-by: Jan Glauber <jglauber@cavium.com>\n> > > ---\n> > >  drivers/pci/quirks.c | 16 ++++++++++++++++\n> > >  1 file changed, 16 insertions(+)\n> > > \n> > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c\n> > > index 85191b8..6679971 100644\n> > > --- a/drivers/pci/quirks.c\n> > > +++ b/drivers/pci/quirks.c\n> > > @@ -845,6 +845,22 @@ static void quirk_cavium_sriov_rnm_link(struct pci_dev *dev)\n> > >  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa018, quirk_cavium_sriov_rnm_link);\n> > >  #endif\n> > >  \n> > > +/*\n> > > + * Root port on some Cavium CN8xxx chips do not successfully complete\n> > > + * a bus reset when used with certain types of child devices. Config\n> > > + * space access to the child may quit responding. Flag all devices under\n> > > + * the secondary bus as non-resettable.\n> > > + */\n> > > +static void quirk_CN8xxx_secondary_bus(struct pci_dev *dev)\n> > > +{\n> > > +\tstruct pci_dev *pdev;\n> > > +\n> > > +\tdev_warn(&dev->dev, \"Cavium CN8xxx quirk detected; reset for devices on secondary bus disabled\\n\");\n> > > +\tlist_for_each_entry(pdev, &dev->subordinate->devices, bus_list)\n> > > +\t\tpdev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;\n> > > +}\n> > > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa100, quirk_CN8xxx_secondary_bus);\n> > > +\n> > >  /*\n> > >   * Some settings of MMRBC can lead to data corruption so block changes.\n> > >   * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide  \n> > \n> > \n> > This doesn't seem reliable, doesn't the user just need to remove and\n> > reprobe the slot and the device would re-appear without this flag set?  \n> \n> No, I tried before to disable the slot with \"echo 0 > /sys/bus/pci/slots/3/power\"\n> but that does not work as it is not supported.\n> \n> I'm not familiar with the quirk types, would another one be better\n> suited here (even if we don't have the problem you descibed)?\n\nThe scenario I'm mentioning is to \"echo 1 > /sys/bus/pci/devices/<some\ndevice under the slot>/remove\", then \"echo <that device address> >\n/sys/bus/pci/rescan\".  This would break the ordering implicit in using\na fixup defined for the root port.  It seems like it'd make a lot more\nsense to add a test on the parent bridge more similar to how the bus\nreset works.  It's not the subordinate devices imposing the\nno-bus-reset flag, it's the bridge device and the objects and code\nshould support and reflect that.  Thanks,\n\nAlex","headers":{"Return-Path":"<linux-pci-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ext-mx10.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx10.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=alex.williamson@redhat.com"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xjnDZ3dHTz9sMN\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  1 Sep 2017 02:01:34 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751662AbdHaQBc (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tThu, 31 Aug 2017 12:01:32 -0400","from mx1.redhat.com ([209.132.183.28]:48094 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751583AbdHaQBb (ORCPT <rfc822;linux-pci@vger.kernel.org>);\n\tThu, 31 Aug 2017 12:01:31 -0400","from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 87C3961490;\n\tThu, 31 Aug 2017 16:01:31 +0000 (UTC)","from w520.home (ovpn-116-27.phx2.redhat.com [10.3.116.27])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 9B54C9353C;\n\tThu, 31 Aug 2017 16:01:30 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 87C3961490","Date":"Thu, 31 Aug 2017 10:01:30 -0600","From":"Alex Williamson <alex.williamson@redhat.com>","To":"Jan Glauber <jan.glauber@caviumnetworks.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, david.daney@cavium.com,\n\tJon Masters <jcm@redhat.com>, Robert Richter <robert.richter@cavium.com>,\n\tlinux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org","Subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","Message-ID":"<20170831100130.5c8a922e@w520.home>","In-Reply-To":"<20170831094052.GA15906@hc>","References":"<20170830142454.10971-1-jglauber@cavium.com>\n\t<20170830142454.10971-4-jglauber@cavium.com>\n\t<20170830084012.19d91759@w520.home> <20170831094052.GA15906@hc>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.15","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.39]);\n\tThu, 31 Aug 2017 16:01:31 +0000 (UTC)","Sender":"linux-pci-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-pci.vger.kernel.org>","X-Mailing-List":"linux-pci@vger.kernel.org"}},{"id":1764558,"web_url":"http://patchwork.ozlabs.org/comment/1764558/","msgid":"<20170907074011.GA13490@hc>","list_archive_url":null,"date":"2017-09-07T07:40:11","subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","submitter":{"id":68474,"url":"http://patchwork.ozlabs.org/api/people/68474/","name":"Jan Glauber","email":"jan.glauber@caviumnetworks.com"},"content":"On Thu, Aug 31, 2017 at 10:01:30AM -0600, Alex Williamson wrote:\n> On Thu, 31 Aug 2017 11:40:52 +0200\n> Jan Glauber <jan.glauber@caviumnetworks.com> wrote:\n> \n> > On Wed, Aug 30, 2017 at 08:40:12AM -0600, Alex Williamson wrote:\n> > > On Wed, 30 Aug 2017 16:24:54 +0200\n> > > Jan Glauber <jglauber@cavium.com> wrote:\n> > >   \n> > > > Root ports of cn8xxx do not function after a slot reset when used with\n> > > > some e1000e and LSI HBA devices. Add a quirk to prevent slot reset on\n> > > > these root ports.\n> > > > \n> > > > Signed-off-by: Jan Glauber <jglauber@cavium.com>\n> > > > ---\n> > > >  drivers/pci/quirks.c | 16 ++++++++++++++++\n> > > >  1 file changed, 16 insertions(+)\n> > > > \n> > > > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c\n> > > > index 85191b8..6679971 100644\n> > > > --- a/drivers/pci/quirks.c\n> > > > +++ b/drivers/pci/quirks.c\n> > > > @@ -845,6 +845,22 @@ static void quirk_cavium_sriov_rnm_link(struct pci_dev *dev)\n> > > >  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa018, quirk_cavium_sriov_rnm_link);\n> > > >  #endif\n> > > >  \n> > > > +/*\n> > > > + * Root port on some Cavium CN8xxx chips do not successfully complete\n> > > > + * a bus reset when used with certain types of child devices. Config\n> > > > + * space access to the child may quit responding. Flag all devices under\n> > > > + * the secondary bus as non-resettable.\n> > > > + */\n> > > > +static void quirk_CN8xxx_secondary_bus(struct pci_dev *dev)\n> > > > +{\n> > > > +\tstruct pci_dev *pdev;\n> > > > +\n> > > > +\tdev_warn(&dev->dev, \"Cavium CN8xxx quirk detected; reset for devices on secondary bus disabled\\n\");\n> > > > +\tlist_for_each_entry(pdev, &dev->subordinate->devices, bus_list)\n> > > > +\t\tpdev->dev_flags |= PCI_DEV_FLAGS_NO_BUS_RESET;\n> > > > +}\n> > > > +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CAVIUM, 0xa100, quirk_CN8xxx_secondary_bus);\n> > > > +\n> > > >  /*\n> > > >   * Some settings of MMRBC can lead to data corruption so block changes.\n> > > >   * See AMD 8131 HyperTransport PCI-X Tunnel Revision Guide  \n> > > \n> > > \n> > > This doesn't seem reliable, doesn't the user just need to remove and\n> > > reprobe the slot and the device would re-appear without this flag set?  \n> > \n> > No, I tried before to disable the slot with \"echo 0 > /sys/bus/pci/slots/3/power\"\n> > but that does not work as it is not supported.\n> > \n> > I'm not familiar with the quirk types, would another one be better\n> > suited here (even if we don't have the problem you descibed)?\n> \n> The scenario I'm mentioning is to \"echo 1 > /sys/bus/pci/devices/<some\n> device under the slot>/remove\", then \"echo <that device address> >\n> /sys/bus/pci/rescan\".  This would break the ordering implicit in using\n> a fixup defined for the root port.  It seems like it'd make a lot more\n> sense to add a test on the parent bridge more similar to how the bus\n> reset works.  It's not the subordinate devices imposing the\n> no-bus-reset flag, it's the bridge device and the objects and code\n> should support and reflect that.  Thanks,\n\nDoing \"echo <that device address> > /sys/bus/pci/rescan\" after the\nremove did not work for me, but maybe the format of the device address\nneeds to be different. Anyway, the sequence\n  echo 1 > /sys/bus/pci/devices/<some device under the slot>/remove\n  echo 1 > /sys/bus/pci/rescan\nstill triggers the panic as you mentioned above.\n\nI agree that the subordinate devices are not causing the issue, still\nI need to make pci_slot_resetable() return false in our case.\n\nSo what if we add an additional check like:\n\ndiff --git a/drivers/pci/pci.c b/drivers/pci/pci.c\nindex fdf65a6..389db4b 100644\n--- a/drivers/pci/pci.c\n+++ b/drivers/pci/pci.c\n@@ -4389,6 +4389,9 @@ static bool pci_slot_resetable(struct pci_slot *slot)\n {\n        struct pci_dev *dev;\n \n+       if (slot->bus->self & PCI_DEV_FLAGS_NO_BUS_RESET)\n+               return false;\n+\n        list_for_each_entry(dev, &slot->bus->devices, bus_list) {\n                if (!dev->slot || dev->slot != slot)\n                        continue;\n\n--Jan","headers":{"Return-Path":"<linux-pci-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com\n\theader.i=@CAVIUMNETWORKS.onmicrosoft.com header.b=\"KIgwzsSn\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=Jan.Glauber@cavium.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xnsn91RHfz9sRY\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 17:40:29 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754142AbdIGHk0 (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tThu, 7 Sep 2017 03:40:26 -0400","from mail-by2nam03on0052.outbound.protection.outlook.com\n\t([104.47.42.52]:2076\n\t\"EHLO NAM03-BY2-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1753835AbdIGHkZ (ORCPT <rfc822;linux-pci@vger.kernel.org>);\n\tThu, 7 Sep 2017 03:40:25 -0400","from hc (46.223.66.108) by BN3PR07MB2577.namprd07.prod.outlook.com\n\t(10.167.4.154) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tThu, 7 Sep 2017 07:40:21 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=3yrnQxM5sccC1LmFSYongBTfLtOZPpa4aDxN2GwMQpA=;\n\tb=KIgwzsSnmFrFC+ZyRpQsTxQAl4qfPwo180dTTTv9SyTu1mDqRhwg1LDGIynTuvABKKsvROzEyuBwCIbaJIqucYwWKvffH5hHsiRQ3NN4ihc7nsF+7BgNn8MfuOrp2gNPDzHl2a+T4kjTjBSHbJz3JPOCiechw1cBqkiuLYigRFQ=","Date":"Thu, 7 Sep 2017 09:40:11 +0200","From":"Jan Glauber <jan.glauber@caviumnetworks.com>","To":"Alex Williamson <alex.williamson@redhat.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, david.daney@cavium.com,\n\tJon Masters <jcm@redhat.com>, Robert Richter <robert.richter@cavium.com>,\n\tlinux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org","Subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","Message-ID":"<20170907074011.GA13490@hc>","References":"<20170830142454.10971-1-jglauber@cavium.com>\n\t<20170830142454.10971-4-jglauber@cavium.com>\n\t<20170830084012.19d91759@w520.home> <20170831094052.GA15906@hc>\n\t<20170831100130.5c8a922e@w520.home>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170831100130.5c8a922e@w520.home>","User-Agent":"Mutt/1.5.21 (2010-09-15)","X-Originating-IP":"[46.223.66.108]","X-ClientProxiedBy":"DB6PR0801CA0044.eurprd08.prod.outlook.com (10.169.219.12)\n\tTo BN3PR07MB2577.namprd07.prod.outlook.com (10.167.4.154)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"574473a8-79b2-40ee-9489-08d4f5c3b2c4","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BN3PR07MB2577; ","X-Microsoft-Exchange-Diagnostics":["1; BN3PR07MB2577;\n\t3:Gxq0DF3LHMbKfor2Rp/xruN+vUyy9J+AmkkdVqqwYeNLj8h0KTwWfqnHoiQO6JxEYI274P5CAT6ZVnbUdA1rPbPUt/ev5AFHswzP5Bomo4xMNLSPHewW9bS5TcJhsrWaDjE2qQx5xDnCQXCipt8ZFSX7tIFf7X7jF3PTCCmmZYZuK2zSCpmSR63EGnckYVt5cUKpy2SznRuywukNCFXPevrrUV2UNwLMdLo9pJoRJj8LVvqw1+m1lsgWgJtMeP69;\n\t25:xv9BQtn1hz4C2+sZKCpjN4K/R9rfOfWRIelES3mRacT2aoQUI4S7971r0aykDnaTe2h1j6bzoALwE3LJKnN1imEecN0hBaLEl78/zE7T3+ljprj7wQKKCjczLsK6vv1WXpvA5H6auKMY5gnJhpAaKcZc2EuFTqKevma8M4MZKnQQ/ovYGIy9rBjpuec2gjumuYG0mtBplkjRyd/uhCUD+aJj4k91aH0K7WylxlrdTIDo6O9sjU6pQrj8wrCxS3091y60+y3U3/ZfRn6kiiQDZgTjjsxEC4aGcromdPnvlaA2JqbG4Wwca+jh4xpxnKGoLtfDim9RB1cWpLDfXTTtXA==;\n\t31:C6OueiD3GrWkuhTVTUqO8VlhAFN4p8TaGsxCU2pk7niYR7Fm1lY8A78mNk7yzCd7ondc1qMVwED2KGYUuSeFpSNef/V2RV4am/PkV2QJ8sNTpIRhC8KlYc9ByDBqCavOKJxcKMw4Uucz/LJDp0UtUtAsXSwYfuVuMpBMMKpImoFdyjB1oXTjHvrv3wREvyupBxeUFmk2h1ALxX05IyJ+UWmVFTkob8nJFgo43vqRTvw=","1; BN3PR07MB2577;\n\t20:xsBVSvhppOglN0ZskgPQAe4lgcuCHPa2uA2g//ty2fDOh2GxiqAQMfEO2u4zbflgqOBFvzJhIEXnqu3oaPRNYcTsD4TTogjxG1JJ8KIi/p2mTN6MVHU1XzzexX1sEc+1C/W8qdurC2ajejCAmSKhnjIkYuo0TU9nVSsvSBVa3bSAPnzwApOKhlfifNybu9trbkjbxoANvQr4uPvil6yLTf9z8DrQl2lJSIDltYo188hlefVEj6LveX6f8y/eCrUzCWoDXk/hR/ZOVFE3alRvaqfrCSmtTk3MeRnvAwDmyvYQTFmbzu0NxhkYin6d9l4L2/1t89b5DH/VKyks4NnwVwPH0DCMB1hmVddwhojqa9P7M7C0iw86UBqQj0nwlfUzEmIro7XljJF2eYKjEnF8C5w6pyM7TllOEqRbFWcZ1d8gtYdwtrlKP7iRyMBY3j7CwsWQK/1ZTgDAh32KH2gYQ/GIXxCK8ef368Olrraxi8eCAauNQ6hww7m+05JvwcWFtGM3I47NnuZQjJH/7NReqmywQ1SpwlMAudfS1BlrEf1NpwhQPvvGaA+9l1TVQ+7q6CaLAvBJyfFCs8R9Y35pLLWLY513Syy2UAFBOQ/KZvw=;\n\t4:fulRdMmI8B592jTp/6d+6ppNix27wAF9DnV5lyOsoUZQx8GCLBr841vU0p8RNoKF6iaWCOLSNR85WqunwGpq1/Reh5evUQlUC6za6WSUo166dmy3HxwLNhNixxK7axEVHJglOQuTOCCxKaemX1twZtarUKd282QQpFeVMqqDy+R6ev1QHD5mANUSbkeiI637YJm/B3muv1EDpZU+9PLgCP31djDusHkFAjzB9ej9MtJrHJfuoiC5W/B0u2FL85AU","1; BN3PR07MB2577;\n\t23:vQbsmhCcvr+SIIu/kS+rs+fCksP6kVZdNIgnvKy9hf7gRkQkwthMNka3LwgIHad6I9TfN09P/lmPXTlPd4MrjS53wn6Z6bCCtxqj0uKvDlQuo7+obrirSXK4UaHvsR0qL8t060BQy4xIc2IzPd2/HJBixPxMz7rP8Z/S57r6zSRyYIcJkHCcJh5oX25zV9VJ0QHjBaBnzqOHqWfuO641SRmOHeOHlzvYtnbrlgcZ1VYzvk1gC36d4dKipdFMFXnEDu1IUUWvHhb5HOI/0SZNmZ30I8+6ANnlF4cajIGP04PFK9o6RXKigZhE+7USJgsS2htMGhrEfUNVJGDavQQ3xmShLm1XvGx8hkXD7XzoYaV2zh1XsrhTowGF8lZ1YMCTBPTeZ3NOJbbHFeW25K/663fFVpm/LyP89DiGZuQ2Aa1xPh80Ahz/9JzgzRlnlCdTPhw7y2DM7e5Vi9TzH7mi/KQxdzMPBmdiaWcFTuwjNzw4JpAmoJrDc+JTVWSfztuhTz9GWZnMGYLaxpNL1N5NGZdCbJD1ZPBzVbEEIX2SDLrRyf7ydpr0v11gYpvSn4O4vb3mDDANx1Q2kV2x+002q8A6sy5YzWwUkYL+tZrntTHpYx6CT78VT4oXI1ErcSfCJFtDGOM/7ynZ1bhVYfmqriTV9f9W/H0mK6a8vQN8QNzSVPUwmy5rIhevw72yWQMqrVTA5JqROW8iwN2NOmtppUSxMxTVFht8iueDOE0zT+lKDrO4NUKCBT1qvugesMp/jvXjHoEXy6AMQvca7V5bv59+woR+JFCXiXVqWXKYJxz7+ObhE0vAjMiuNOMraDGa1Iy8f6GTSB31oogxrRPKW/wfw4UPON+08jb6jgFrHMMDNrQivzcX6cEaIfOuikVG3M1+gwnoPJ7YtWFYmez7vqtAQGUONm0y4IeJGOpLxaFl3OHAMIGU6zBrS3Dihfuq1Ei/+97IswX53hpsIJsMzDz/67E3FqKYAYCyTCKEFgvAWZ98UGXcyB+tUAay3l8kfQNxu1DUJsLDX43BqL13ikRVR4Z8BwLQ9OFjLWwMVYTWCy871vZQ1TPojEbHcZ59m2XW6lZGaxg+rXngYXW/ASsTsvuSeWy8n3L7g9zlae/xD0uk6qOCzcQd/T9v5lsucjUwpqFjFXOWztVNLWsScN5UTOk1+qzGAPAMUm51WaRz41TCHeRUaxZzYEgYZ1c+FoalGCkwLQQjTyBtsHgSi7LxI5woU5U/13QAIPRwPYw=","1; BN3PR07MB2577;\n\t6:rnQeHVaJVYuvRMoPmy+U71blM5qAcarnHMmFupNLCQMoqcJftNZp8kJ20Xq8CC46noVreHjlhqg8UuN29ijwrliIjuzQ+SCSUUR1vLa0l7ehH97p7mdpQ3WEgY1/Tx4siDYYf3+tTPcpEIHmt3e4bqeslfr+8jiyuLMKy+UEeyMb+yXiPtV2kPhuPv3DZPSZF29CRfPaqFivEy3Q6wO2ArpsRl9gX+mqof5/eSNJJxjeco+YwTdnl8ycFjMJzD3xzXg6prFRrw0DEUCJeCWn2FjYLXYmDurJ20/SsjKdc3R6t6ikYBmEQKkcnMHf80h3svxtK7Nu39PD5Apj/5DWRg==;\n\t5:qLJrDn4+v7LR5A2ej3C9fme1wURyKgAG6lU5z6HpM/OMJTiOQnIbXpxWtzg8rlt88IPRsGBTniH6nPHptD74rFJEY0qBYjUAP0q2ilvMDx/2XXPB0ryGYHcy+b8YuPiP+z4FcewBN6SbLdLygyW7bw==;\n\t24:FlT0/ugqXs0v4si99bntS5s8alz8Rfl2Z70Qc8g6JYYqB/27NQLyb4rvKpvjdrDb4T7sobjM4ZzcoskXvnOiaks7JZH0g5dGOPihV70KlIE=;\n\t7:xa+DyQYerawFM9SRK7YHUSfITEmrYpdguzt2fZ9F340zwZacDact4fCJXKqUNieUDt6LtE+Uvt684wCstIpR7iac8aFjhQVP/M6Q+hF3QDmp4Q/wwanuFzuLR2ZDoVwMxLclEm4bOksCr7n64J3yuPB+jYA4yXYy9iFi29lpZr5NF4j55O2aol/NornKv7aJJ8xglT+D35++1KP/0MqtBt46SbUG3/CzY5yUcA0iV1o="],"X-MS-TrafficTypeDiagnostic":"BN3PR07MB2577:","X-Exchange-Antispam-Report-Test":"UriScan:;","X-Microsoft-Antispam-PRVS":"<BN3PR07MB2577CA14CCEAA183B8D7AE9291940@BN3PR07MB2577.namprd07.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(100000703101)(100105400095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123555025)(20161123558100)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BN3PR07MB2577; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BN3PR07MB2577; ","X-Forefront-PRVS":"04238CD941","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6009001)(189002)(199003)(24454002)(52314003)(42882006)(2950100002)(6916009)(189998001)(9686003)(54906002)(53936002)(55016002)(6246003)(110136004)(6496005)(229853002)(3846002)(6116002)(1076002)(6666003)(23726003)(83506001)(4001350100001)(93886005)(97736004)(50986999)(33716001)(76176999)(2906002)(5660300001)(106356001)(25786009)(105586002)(4326008)(8936002)(81156014)(81166006)(478600001)(7736002)(8676002)(305945005)(101416001)(50466002)(54356999)(42186005)(68736007)(66066001)(33656002)(47776003)(72206003)(18370500001)(32563001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR07MB2577; H:hc; FPR:;\n\tSPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"caviumnetworks.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"07 Sep 2017 07:40:21.4612\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"711e4ccf-2e9b-4bcf-a551-4094005b6194","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"BN3PR07MB2577","Sender":"linux-pci-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-pci.vger.kernel.org>","X-Mailing-List":"linux-pci@vger.kernel.org"}},{"id":1764561,"web_url":"http://patchwork.ozlabs.org/comment/1764561/","msgid":"<20170907074904.GB13490@hc>","list_archive_url":null,"date":"2017-09-07T07:49:04","subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","submitter":{"id":68474,"url":"http://patchwork.ozlabs.org/api/people/68474/","name":"Jan Glauber","email":"jan.glauber@caviumnetworks.com"},"content":"On Thu, Sep 07, 2017 at 09:40:11AM +0200, Jan Glauber wrote:\n> So what if we add an additional check like:\n> \n> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c\n> index fdf65a6..389db4b 100644\n> --- a/drivers/pci/pci.c\n> +++ b/drivers/pci/pci.c\n> @@ -4389,6 +4389,9 @@ static bool pci_slot_resetable(struct pci_slot *slot)\n>  {\n>         struct pci_dev *dev;\n>  \n> +       if (slot->bus->self & PCI_DEV_FLAGS_NO_BUS_RESET)\n> +               return false;\n> +\n>         list_for_each_entry(dev, &slot->bus->devices, bus_list) {\n>                 if (!dev->slot || dev->slot != slot)\n>                         continue;\n\nObviously I meant:\nif (slot->bus->self->dev_flags & PCI_DEV_FLAGS_NO_BUS_RESET)\n\n--Jan","headers":{"Return-Path":"<linux-pci-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com\n\theader.i=@CAVIUMNETWORKS.onmicrosoft.com header.b=\"j0dZVV+5\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=Jan.Glauber@cavium.com; "],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xnt033RKrz9t2M\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 17:49:55 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754713AbdIGHtZ (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tThu, 7 Sep 2017 03:49:25 -0400","from mail-sn1nam02on0069.outbound.protection.outlook.com\n\t([104.47.36.69]:54432\n\t\"EHLO NAM02-SN1-obe.outbound.protection.outlook.com\"\n\trhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP\n\tid S1754527AbdIGHtV (ORCPT <rfc822;linux-pci@vger.kernel.org>);\n\tThu, 7 Sep 2017 03:49:21 -0400","from hc (46.223.66.108) by CY1PR07MB2585.namprd07.prod.outlook.com\n\t(10.167.16.135) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tThu, 7 Sep 2017 07:49:16 +0000"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=aQRaFwI1AFTTsNksqDvBKw8GmFBjc2G3Xu9QvN73nj4=;\n\tb=j0dZVV+5CxffXdD4pz9yraLZ4f+rc9vzxgKlL6s/e77Wpg1BWkAbQwK8TwY43p9Mg3RrIyuZ5i0FMUC2iLemg1C1GVAf0dw7PjCupwL397TO46s/TZD7OT5siDMRDz9op432FrG/f6g6Avyl1+5BuEkKGM7txTAwUmWchP5E9eY=","Date":"Thu, 7 Sep 2017 09:49:04 +0200","From":"Jan Glauber <jan.glauber@caviumnetworks.com>","To":"Alex Williamson <alex.williamson@redhat.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, david.daney@cavium.com,\n\tJon Masters <jcm@redhat.com>, Robert Richter <robert.richter@cavium.com>,\n\tlinux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org","Subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","Message-ID":"<20170907074904.GB13490@hc>","References":"<20170830142454.10971-1-jglauber@cavium.com>\n\t<20170830142454.10971-4-jglauber@cavium.com>\n\t<20170830084012.19d91759@w520.home> <20170831094052.GA15906@hc>\n\t<20170831100130.5c8a922e@w520.home> <20170907074011.GA13490@hc>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170907074011.GA13490@hc>","User-Agent":"Mutt/1.5.21 (2010-09-15)","X-Originating-IP":"[46.223.66.108]","X-ClientProxiedBy":"VI1PR0101CA0064.eurprd01.prod.exchangelabs.com\n\t(10.169.128.160) To CY1PR07MB2585.namprd07.prod.outlook.com\n\t(10.167.16.135)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"c4f00eb1-4fbc-4a80-16e8-08d4f5c4f1c1","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:CY1PR07MB2585; ","X-Microsoft-Exchange-Diagnostics":["1; CY1PR07MB2585;\n\t3:BbdvoclsnCIbrfcBWUy2rzFvTq/poe8G1y5/aBLSbioGjx5zm3F5Nwtkl9KMfmzJbNv2B4n6qvNb2a/v+EIPWlCNl4OFms5JGAKZSKd15S3DmgOOQH+XQsV+apr0ejCklyx6Rx6SLX1VInViLE85nrLl/ABI/gBRsWAsLRawCMis1c/UqgSU+/st7vKsFR0g9G1sgS2BDUM/Dsf1t2aNAqEDdmXHMbIMsF8wYCYN5S/YYY1nC0wBrlMcgFEGzNdo;\n\t25:zBZzQGN1vB9t/RXLEKCwu5G4aTvrVqXqf/BHQNpn7dRVfyLj6H20tm0njQ8usGElsC2XuJrQd+9ziL9M/bsLv1lKmkQZDqh/nhTFTFNRAVGLooucw3I439xO1rmw4zhPd+kSh2BsLOz2rCLmN7JONrjAdTqnMcoIy3aD1Ioa5wkZYl9gQkSpskcJp6ihVXBAujYVTuxgcY4UMw5AKjxEXj3rjfUKR6O6daqu0x+8tue/WC1JQL43OxA/iM94oF0IcarwSw3zUGJp6xN4loJPKlIFWETg1nRrgOVLRXCNKsyys9acULTgMxv18rXnkWzZo6YlhMpOswQRm/EohRG8ig==;\n\t31:5O8Lz8BT98KqQzClLzbQdwo59BuUSd9zyxuu7qvSM+WWN9wv6hb4hKr+Duzt/4/n921LCYlbjtW2Y1gPs8KTNHPqyEertp3xhcswDfw4Ld7hBT/faylCCL3HXFd1L95Uy+cgSCs/naQkYRaB4dmv3Ur99LOT6gb89xCGBVWNOu12OMp2Sy1UjS0bygQYy3Llq8v/BP9BRso8o2dNr9bRDAKRwxah1zyjGLuiGBmHMdM=","1; CY1PR07MB2585;\n\t20:vyWUFzcf+Dx5S7QkpOeRtLfY6oL/QmAGsOfueSIFAQUNCancTe2e/CU5hO6WpkSgWedoYQFM+Za4sS6jlpTS38r7K86+DCeUrNJFqXNtOYj68AtWAsLISe6n8KUCUpd7xnkoi8q5GiAytQ37KBrPcyvJkeBNjQDtI0OWEhX8RvSozDBnACJKStdnqFnWW8f1etMRPtyXyDKLWRu87/B7gBs5cbgX3kcBHFqNZ+l7ULbPkqfmNeYbkMrFVvCPrq7g7ovNgwRN5XoCyW8tHKc0Gbxf6gQBK32Ht6xtONszXJvoaS/oIb17yE+eOaqvokAUu+a45DlUAs5lV8FF2QvlDgN8Df9VTbS3QCpY5fN+iYv+PlUFcMxPFcvtD4hgO9jNMqpaKDI2rQD3dJLXdg1zIQ0s8F3nM+osQyhdHg6Mk9UGhX/Zk40BrPGsM9d2hAAE+CgDHkgMo6a/e1GSmjeuP5l1DwY6MA6USPYOEB+8xRgDYzwI/M+ag1sFow3cxG2HtGHgXrq0O5dyb8sSCbYb3Xb6hVhBY3LvUh9Mgg5vAAdinsbkMQeLFezAOAWZQfFOsHKwyLtFaO01HmXjD+HhSB2/ed8d2q8ZOFpJuIIb4C0=;\n\t4:IsH99tFs9zBC3C9YQ6zYdKN51b2BMW9u3/kUr/yTj/noD+od7n4kxfy/a2BkYePOdD8ndpcb/kGJ4InJWyYu267qL/uL6fBEGcXCQWtOM8phoTNFi5BHdLRZmouALOe7FkdsfdNVWSfwarzNAIg1HCzM/XAhL5mUXz90swgxB/uC2iwy3AMjizSG+IUXUOJNrf4A3uV8wAQjV5pbLa044yc84/vRSr3ZV01HArJU85xqK9DiHZFqa7BsD169z9um","1; CY1PR07MB2585;\n\t23:Vn7wWSBBjp3+m/2UGGxhKDhMm6f84VmsKA+G6Nfgx+0umo3Siq+1N+GCLwgmMYzs9o4M9eMrK3obychRE/x+4pro8SIxXA4dWcEQj1bycvvgjRBWuOmQlmiGN/0t7vUTjZa415cjZktA1sdu/xv2B+QH27zxEffXMrN1ucc57LbNNYe3gXi0GBD2p5cZhsdz0K9K14XQ6mhTbYGpQCdnYMzcecfMsNT46gqYbgt+G+IPB74l/zaldqcP6XiCqE7pv0PX3mUKGq/ifHrPYcVIjPLUnVZ37Cmy+fQ89nIz2gkQEyF9ggfJV1sQoLOez7BWNbSFCSFS7XTaJRsxXntunQ1JKZFdZp18K7Gj2q1VKdDunh+IgL560iyCTpDJv8mxpnXgCrWYHEHp99uXwCNu1hoC+yMcncjehj+U2jInLmyrq2T3l+1ShzXmeuzI8/6GGhDZK9EaWSa6gxAPLKRx1wkBkA1EUnLMkHmHsxMnYxPYSc2I5xKn3afNg3LUGxLk8h7wjjxzrhw4hWxoL10sU+PCMXyCvaULy1DSdEdKLDZj/gVHfbeAGwm2diGD2GnNTKQ29R581a3pyLczryoT6I5v2f9UJPfDokMjoS3HOmmDoFOZPZfAhM6F072tdLdPka2OD+1cWEcjeHG4Wz4iCk+BNAPt+FbuoQDuaIAdPEh9BJ8okc4LMOXBdCS1b5zgXWZk4Okvv2bVwkYPEAdZdX+gfRMgDWBhaEmzClyQc8EXfNnkJZSketglsMNCoZXO+ixOB0tNg1+NCo9EBtvlc6bQZYsNzJd+cVlp+Its+CxNcC3hNw8aQfsOxtxPELdSD0IC/m7szcwu68sM9n6AjPVtLEFTW2XHsvwS9gEYNrUVwDKNsW4UORxhvJp3OplxQAs4cEuqzHSedGZuObp/u7rCJ8Yl3WdBp+msxwy3wROcTVWfE6pG9Bd4F7EGSD1OatKpbo4p93+mgHKjxJ+9q3YHYOBMBYj5su3MZPSl9+Zaf+Ot4mUiJLNkLamiOZbW1/hVzs758L8nTQTMiwHw90skqJZnRZ1XQ/D6zxPcysUbeWYPyaO5ATBCxs1NDjpHAfMMPC3jcXKvxkiMjIa38bs2Km25QoBFRRid0Qjur1zi+WB8+J2Sn6AxYaMYBRWsoEKIq2E20pGo1Y0K410JT7kI5x4LbRmbqCi9D1+TnmMSiKRS+CgqTue74ZjnJBnsPr7dAT3NsjN/GW2M+DFTww==","1; CY1PR07MB2585;\n\t6:RAslcTYLfRo+p+LceP5Je0g+DAR1IXjuPT867GcySCAv2zNfgbbW4obc8r5cfHStRRjoiM6DM05U2qrbqwdrQx34/MuFvLeN/URsAIVuEKPrHZf1OfT8ClSzkdfsB9hm8r81mSb/e/h41pVTZzfraETKlhrMSGj4icliiEfVeN5t7UU7pw+BRGy61GxMQBLlPgVDYQqMfGdxlFkIsdX+ODZOMfHinhkLqPFybxeKGF475KyNhrXzRFyj1HGNDf8D8+Eb1HD+VgIyTy+UuZ8Dt0JbFMjhQHaPeD2eVFFBHQtKXkVLwXDKoiXIXh2Wudz4wPDSR7E4DfarMsPF8/QJHQ==;\n\t5:smiShVeMF5LYE+4jYp1flFqFWBwWP1no4WVPtIpq47fYqncV9g/EMC22+XyuOgQe2fYzCfWsOfofsjPBznO+EBMEkks1sxzDxv9JqEb/ZzV+p88PsTkxe48sbGcbCoYwtV4/zF60M5Fgkw8gBM+Ddg==;\n\t24:p7B5Jy6wvFc+f1fjQ62nPyaElC3ssD9AVX1uudIJVHqhtrxo0i2xKsuvUl5oiWJ3Khx0C3vpN1NLtm7yNBB2Op0noy6NpP3lTb7FTvdf+8E=;\n\t7:15qZXEsyAbQhfbp9oFbXjryO5vS/+m3ZezdHVXpeELQ6EGqsDXI5khVDODi5hBF9ovOw5hQim/WrIJU2nCwi557WCwvZzcUBhG2dY3dK1w1OulyEYsHYuBsyc41WycnMiRBKrsIIXbUX/7axBAaHGdqMJkR+CWulW9cSRhOZgRjl9td9oDkeFsCWw0IUHtZRZEZFF4VWgI2pCzeLOV4LnuuA7N++An4Q/e8tms/I6jM="],"X-MS-TrafficTypeDiagnostic":"CY1PR07MB2585:","X-Exchange-Antispam-Report-Test":"UriScan:;","X-Microsoft-Antispam-PRVS":"<CY1PR07MB258564417784863766F7C4C091940@CY1PR07MB2585.namprd07.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(100000703101)(100105400095)(6041248)(20161123555025)(20161123560025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:CY1PR07MB2585; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:CY1PR07MB2585; ","X-Forefront-PRVS":"04238CD941","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6009001)(24454002)(189002)(199003)(53936002)(42186005)(6916009)(101416001)(54906002)(1076002)(305945005)(42882006)(9686003)(2950100002)(47776003)(6496005)(81166006)(81156014)(54356999)(76176999)(8676002)(110136004)(50986999)(68736007)(6246003)(7736002)(105586002)(55016002)(5660300001)(106356001)(72206003)(229853002)(33656002)(4001350100001)(4326008)(93886005)(83506001)(6116002)(3846002)(23726003)(25786009)(2906002)(189998001)(33716001)(6666003)(97736004)(66066001)(50466002)(478600001)(8936002)(18370500001)(32563001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2585; H:hc; FPR:;\n\tSPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"caviumnetworks.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"07 Sep 2017 07:49:16.5534\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"711e4ccf-2e9b-4bcf-a551-4094005b6194","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CY1PR07MB2585","Sender":"linux-pci-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-pci.vger.kernel.org>","X-Mailing-List":"linux-pci@vger.kernel.org"}},{"id":1764836,"web_url":"http://patchwork.ozlabs.org/comment/1764836/","msgid":"<20170907105237.3f025280@w520.home>","list_archive_url":null,"date":"2017-09-07T16:52:37","subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","submitter":{"id":4123,"url":"http://patchwork.ozlabs.org/api/people/4123/","name":"Alex Williamson","email":"alex.williamson@redhat.com"},"content":"On Thu, 7 Sep 2017 09:49:04 +0200\nJan Glauber <jan.glauber@caviumnetworks.com> wrote:\n\n> On Thu, Sep 07, 2017 at 09:40:11AM +0200, Jan Glauber wrote:\n> > So what if we add an additional check like:\n> > \n> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c\n> > index fdf65a6..389db4b 100644\n> > --- a/drivers/pci/pci.c\n> > +++ b/drivers/pci/pci.c\n> > @@ -4389,6 +4389,9 @@ static bool pci_slot_resetable(struct pci_slot *slot)\n> >  {\n> >         struct pci_dev *dev;\n> >  \n> > +       if (slot->bus->self & PCI_DEV_FLAGS_NO_BUS_RESET)\n> > +               return false;\n> > +\n> >         list_for_each_entry(dev, &slot->bus->devices, bus_list) {\n> >                 if (!dev->slot || dev->slot != slot)\n> >                         continue;  \n> \n> Obviously I meant:\n> if (slot->bus->self->dev_flags & PCI_DEV_FLAGS_NO_BUS_RESET)\n\nMuch better, perhaps even incorporate the bus->self check for good\nmeasure... is it possible to have a slot on a root bus?  Taking\ndifferent approaches for bus vs slot reset should have been a giant red\nflag that something is wrong.  Thanks,\n\nAlex","headers":{"Return-Path":"<linux-pci-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=linux-pci-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ext-mx05.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx05.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=alex.williamson@redhat.com"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xp62c672Bz9s8J\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 02:52:56 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754882AbdIGQwy (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tThu, 7 Sep 2017 12:52:54 -0400","from mx1.redhat.com ([209.132.183.28]:35910 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1754850AbdIGQwy (ORCPT <rfc822;linux-pci@vger.kernel.org>);\n\tThu, 7 Sep 2017 12:52:54 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id D3DDD128E;\n\tThu,  7 Sep 2017 16:52:53 +0000 (UTC)","from w520.home (ovpn-116-27.phx2.redhat.com [10.3.116.27])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id AB0406F988;\n\tThu,  7 Sep 2017 16:52:37 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com D3DDD128E","Date":"Thu, 7 Sep 2017 10:52:37 -0600","From":"Alex Williamson <alex.williamson@redhat.com>","To":"Jan Glauber <jan.glauber@caviumnetworks.com>","Cc":"Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, david.daney@cavium.com,\n\tJon Masters <jcm@redhat.com>, Robert Richter <robert.richter@cavium.com>,\n\tlinux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org","Subject":"Re: [PATCH v3 3/3] PCI: Avoid slot reset for Cavium cn8xxx root\n\tports","Message-ID":"<20170907105237.3f025280@w520.home>","In-Reply-To":"<20170907074904.GB13490@hc>","References":"<20170830142454.10971-1-jglauber@cavium.com>\n\t<20170830142454.10971-4-jglauber@cavium.com>\n\t<20170830084012.19d91759@w520.home> <20170831094052.GA15906@hc>\n\t<20170831100130.5c8a922e@w520.home> <20170907074011.GA13490@hc>\n\t<20170907074904.GB13490@hc>","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.29]);\n\tThu, 07 Sep 2017 16:52:54 +0000 (UTC)","Sender":"linux-pci-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<linux-pci.vger.kernel.org>","X-Mailing-List":"linux-pci@vger.kernel.org"}}]