From patchwork Mon Mar 6 15:10:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Schnelle X-Patchwork-Id: 64774 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp1905915wrd; Mon, 6 Mar 2023 07:31:50 -0800 (PST) X-Google-Smtp-Source: AK7set9Znp2Tuf/5Gn/zStTbLgpmcVpk1HtT3YbrXqpNZz5iV/2/OS1PTeKmOuN3B1Ro9o2e8biF X-Received: by 2002:a17:906:b791:b0:8e3:8543:8e71 with SMTP id dt17-20020a170906b79100b008e385438e71mr10838597ejb.40.1678116709929; Mon, 06 Mar 2023 07:31:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678116709; cv=none; d=google.com; s=arc-20160816; b=VUy5wd2l+0P3Lj2hVDdV2R3nJivmhR1qgQlUSEzJSFapbzlgk3SVWWY6MJ0KkU1bz7 jJ8N2yW/yBnbtoo53oJ+G6BpeUYmDrnIGXmqSWzXtFzEAkDIAV8uBl+WKVbQmrLJ1ZQq CkKwGbTXv6EdyyfGOuNTUUeVC5CvLqwWweaQTtl279m44SVM4hOMIqKPAMMqVrEE9C7b 6THkuMJx4l6MS17wjMkqZtVugAxzCEaywSOBlWbYE3dhsOM1DjPYqUxKmBQ3MHtqIlAI 0ZePa8hLvvUciwE8Aul6ZhS9MxiE7B7cwuoVPF240L3vW/RrWzLKEpwCIL5DzLVKNiRg sIPw== 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=TwW+Or2S2PLq3VbE/F7b+vYT6TztXbk2jXK5TMJEAR4=; b=dtSDi1FvaY5FT729b/r2H9IT2/25o1itDdsse4Js98QEvuq573ftn/hzu9dqyTFh6s ZAj9FWdzurH0kMtxWmZVmkEz3fEPJrV1BOjXtvZLg1s4XsR/Nulyt4oe8nlpTABz4NmL owMloYJdnv8+ljN0pRTYmUoIMwrZSRL2j2V0w+F284uExWmWwe2IZNk7mLWqurVd13cm yy5qJzE7e8O1P1A9OyLUK59eB2b4bXZpAPI0z1sU5aRrSaqB+Jt1GnV7hw+pqgPTrtpl Gg9rBh3wf6iRMHF53sbTzsCjY55xBu5DCGmQCLGS7fbIeB7SVQ9csbA5kR9TXvsSc7F8 kzQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=T9cTylv2; 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=NONE dis=NONE) header.from=ibm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i9-20020a50fc09000000b004bbae097f61si10570498edr.210.2023.03.06.07.31.26; Mon, 06 Mar 2023 07:31:49 -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=@ibm.com header.s=pp1 header.b=T9cTylv2; 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=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231151AbjCFPKd (ORCPT + 99 others); Mon, 6 Mar 2023 10:10:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57264 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229706AbjCFPK2 (ORCPT ); Mon, 6 Mar 2023 10:10:28 -0500 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D44E121971; Mon, 6 Mar 2023 07:10:22 -0800 (PST) Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 326E7VMB001475; Mon, 6 Mar 2023 15:10:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=TwW+Or2S2PLq3VbE/F7b+vYT6TztXbk2jXK5TMJEAR4=; b=T9cTylv2n+qzkXU8eI5bRUvfKIMWMH/aDoZlrGZj9wzXNGiTR/dDzKLX/hYxoZVJXZEL iMNNOtK9A6flJuI2K9q+ROHRRqmQ/vZnEO4rK6A3lp8veNTdiMUdDoT2jSaYmEkdNUNo yosVz8qrs4Hc8C8B1U3/8wnSFmWtOiPzfzJCjTH3Rt8IJ7f8tPaW6uHOaG/Ruhnj0Iar rTebyKmEj1ujxGE8B/fGdAgpQRu8nskjWWM8moMsqvU9EzuB/pMb64hHpcefkhf/4cPP yXjfb6m3tl2vajkD8BYCYcClFurJuFGBSkvfAfVtTH+UafYLFU8e5BruWTgcYu9DyVql Ag== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p507ny1e2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:21 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 326F621S006753; Mon, 6 Mar 2023 15:10:21 GMT Received: from ppma02fra.de.ibm.com (47.49.7a9f.ip4.static.sl-reverse.com [159.122.73.71]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p507ny1d7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:21 +0000 Received: from pps.filterd (ppma02fra.de.ibm.com [127.0.0.1]) by ppma02fra.de.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3265OEpj008153; Mon, 6 Mar 2023 15:10:19 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma02fra.de.ibm.com (PPS) with ESMTPS id 3p419ka9q9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:19 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 326FAFlA50594162 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 6 Mar 2023 15:10:15 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id ABF5720040; Mon, 6 Mar 2023 15:10:15 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 70B822004B; Mon, 6 Mar 2023 15:10:15 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 6 Mar 2023 15:10:15 +0000 (GMT) From: Niklas Schnelle To: Bjorn Helgaas , Lukas Wunner Cc: Gerd Bayer , Matthew Rosato , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH v2 1/4] PCI: s390: Fix use-after-free of PCI resources with per-function hotplug Date: Mon, 6 Mar 2023 16:10:11 +0100 Message-Id: <20230306151014.60913-2-schnelle@linux.ibm.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230306151014.60913-1-schnelle@linux.ibm.com> References: <20230306151014.60913-1-schnelle@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: IZKwZl4NiPoFDH7b7oi1MVyHgfUIlKUc X-Proofpoint-ORIG-GUID: bW0WNXHmHQrET1E7Hu05aAw3XC7y81H8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-06_08,2023-03-06_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=762 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303060133 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759632907496839121?= X-GMAIL-MSGID: =?utf-8?q?1759632907496839121?= On s390 PCI functions may be hotplugged individually even when they belong to a multi-function device. In particular on an SR-IOV device VFs may be removed and later re-added. In commit a50297cf8235 ("s390/pci: separate zbus creation from scanning") it was missed however that struct pci_bus and struct zpci_bus's resource list retained a reference to the PCI functions MMIO resources even though those resources are released and freed on hot-unplug. These stale resources may subsequently be claimed when the PCI function re-appears resulting in use-after-free. One idea of fixing this use-after-free in s390 specific code that was investigated was to simply keep resources around from the moment a PCI function first appeared until the whole virtual PCI bus created for a multi-function device disappears. The problem with this however is that due to the requirement of artificial MMIO addreesses (address cookies) extra logic is then needed to keep the address cookies compatible on re-plug. At the same time the MMIO resources semantically belong to the PCI function so tying their lifecycle to the function seems more logical. Instead a simpler approach is to remove the resources of an individually hot-unplugged PCI function from the PCI bus's resource list while keeping the resources of other PCI functions on the PCI bus untouched. This is done by introducing pci_bus_remove_resource() to remove an individual resource. Similarly the resource also needs to be removed from the struct zpci_bus's resource list. It turns out however, that there is really no need to add the MMIO resources to the struct zpci_bus's resource list at all and instead we can simply use the zpci_bar_struct's resource pointer directly. Fixes: a50297cf8235 ("s390/pci: separate zbus creation from scanning") Signed-off-by: Niklas Schnelle Acked-by: Bjorn Helgaas Reviewed-by: Matthew Rosato --- v1 -> v2: - Remove return at the end of function returning void arch/s390/pci/pci.c | 16 ++++++++++------ arch/s390/pci/pci_bus.c | 12 +++++------- arch/s390/pci/pci_bus.h | 3 +-- drivers/pci/bus.c | 21 +++++++++++++++++++++ include/linux/pci.h | 1 + 5 files changed, 38 insertions(+), 15 deletions(-) diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c index ef38b1514c77..e16afacc8fd1 100644 --- a/arch/s390/pci/pci.c +++ b/arch/s390/pci/pci.c @@ -544,8 +544,7 @@ static struct resource *__alloc_res(struct zpci_dev *zdev, unsigned long start, return r; } -int zpci_setup_bus_resources(struct zpci_dev *zdev, - struct list_head *resources) +int zpci_setup_bus_resources(struct zpci_dev *zdev) { unsigned long addr, size, flags; struct resource *res; @@ -581,7 +580,6 @@ int zpci_setup_bus_resources(struct zpci_dev *zdev, return -ENOMEM; } zdev->bars[i].res = res; - pci_add_resource(resources, res); } zdev->has_resources = 1; @@ -590,17 +588,23 @@ int zpci_setup_bus_resources(struct zpci_dev *zdev, static void zpci_cleanup_bus_resources(struct zpci_dev *zdev) { + struct resource *res; int i; + pci_lock_rescan_remove(); for (i = 0; i < PCI_STD_NUM_BARS; i++) { - if (!zdev->bars[i].size || !zdev->bars[i].res) + res = zdev->bars[i].res; + if (!res) continue; + release_resource(res); + pci_bus_remove_resource(zdev->zbus->bus, res); zpci_free_iomap(zdev, zdev->bars[i].map_idx); - release_resource(zdev->bars[i].res); - kfree(zdev->bars[i].res); + zdev->bars[i].res = NULL; + kfree(res); } zdev->has_resources = 0; + pci_unlock_rescan_remove(); } int pcibios_device_add(struct pci_dev *pdev) diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c index 6a8da1b742ae..a99926af2b69 100644 --- a/arch/s390/pci/pci_bus.c +++ b/arch/s390/pci/pci_bus.c @@ -41,9 +41,7 @@ static int zpci_nb_devices; */ static int zpci_bus_prepare_device(struct zpci_dev *zdev) { - struct resource_entry *window, *n; - struct resource *res; - int rc; + int rc, i; if (!zdev_enabled(zdev)) { rc = zpci_enable_device(zdev); @@ -57,10 +55,10 @@ static int zpci_bus_prepare_device(struct zpci_dev *zdev) } if (!zdev->has_resources) { - zpci_setup_bus_resources(zdev, &zdev->zbus->resources); - resource_list_for_each_entry_safe(window, n, &zdev->zbus->resources) { - res = window->res; - pci_bus_add_resource(zdev->zbus->bus, res, 0); + zpci_setup_bus_resources(zdev); + for (i = 0; i < PCI_STD_NUM_BARS; i++) { + if (zdev->bars[i].res) + pci_bus_add_resource(zdev->zbus->bus, zdev->bars[i].res, 0); } } diff --git a/arch/s390/pci/pci_bus.h b/arch/s390/pci/pci_bus.h index e96c9860e064..af9f0ac79a1b 100644 --- a/arch/s390/pci/pci_bus.h +++ b/arch/s390/pci/pci_bus.h @@ -30,8 +30,7 @@ static inline void zpci_zdev_get(struct zpci_dev *zdev) int zpci_alloc_domain(int domain); void zpci_free_domain(int domain); -int zpci_setup_bus_resources(struct zpci_dev *zdev, - struct list_head *resources); +int zpci_setup_bus_resources(struct zpci_dev *zdev); static inline struct zpci_dev *zdev_from_bus(struct pci_bus *bus, unsigned int devfn) diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index 83ae838ceb5f..549c4bd5caec 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c @@ -76,6 +76,27 @@ struct resource *pci_bus_resource_n(const struct pci_bus *bus, int n) } EXPORT_SYMBOL_GPL(pci_bus_resource_n); +void pci_bus_remove_resource(struct pci_bus *bus, struct resource *res) +{ + struct pci_bus_resource *bus_res, *tmp; + int i; + + for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) { + if (bus->resource[i] == res) { + bus->resource[i] = NULL; + return; + } + } + + list_for_each_entry_safe(bus_res, tmp, &bus->resources, list) { + if (bus_res->res == res) { + list_del(&bus_res->list); + kfree(bus_res); + return; + } + } +} + void pci_bus_remove_resources(struct pci_bus *bus) { int i; diff --git a/include/linux/pci.h b/include/linux/pci.h index fafd8020c6d7..b50e5c79f7e3 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1438,6 +1438,7 @@ void pci_bus_add_resource(struct pci_bus *bus, struct resource *res, unsigned int flags); struct resource *pci_bus_resource_n(const struct pci_bus *bus, int n); void pci_bus_remove_resources(struct pci_bus *bus); +void pci_bus_remove_resource(struct pci_bus *bus, struct resource *res); int devm_request_pci_bus_resources(struct device *dev, struct list_head *resources); From patchwork Mon Mar 6 15:10:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Schnelle X-Patchwork-Id: 64779 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp1907377wrd; Mon, 6 Mar 2023 07:34:27 -0800 (PST) X-Google-Smtp-Source: AK7set99tTHki8BbYGmzjVgw8/0SOYNjRKuf03JHOqIc7Kbo5x22bxI24iQItrZSTyveaRXt624I X-Received: by 2002:aa7:cfcb:0:b0:4af:6c25:ed9a with SMTP id r11-20020aa7cfcb000000b004af6c25ed9amr10517534edy.29.1678116867579; Mon, 06 Mar 2023 07:34:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678116867; cv=none; d=google.com; s=arc-20160816; b=YUX7KCfcn4gwEzsxyqIFsqqc3mCycQs8eGukTZXjjQBxmF8ZD6qtDvAoua9SZSEY2l nBwYkWQZ6dQs3C42T17nnnfC61EzHV24kML/3D50klSeRGXBQbHzbUemBbQqVueOE8Il BWEbu2eOcR1kHWmR49Mr77KDl071o23mwJy+obbarI0Z44TjHohIXWGwZxmTiErb2oyG 5IMXrT2PwVsItI2GuIM4Von0ZWydtkbrAdvXBFzDuvKVP4ydplv15jwCWtOaXTT2oOmn rQUUXLTda7XceMm0RL2I7KVezkDJJiyg5UEFjAeirDLbrNd0z7Tf3u+Ff5qgsf7r0jZU L/oA== 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=nrXCAvaJjz2L30F4zB4s/xlzVnWIOeQfO3bhE2rcpwM=; b=QTUTUFQc/vY2BURQd7nnZ7oXZynFc6pRP/sN57ehlFAoK8eX74taiUESsbhESyaHzU WEQ5kOroUui0D7drNfoOVIJF6ct+FozuwhZXw9aLD6lnVZh5z31rsxFLqjMA1XvZEVAT /7pzX+FLCLJ0e8U9nOwlqww3I51P6V9XhxLMKv8bmNNms22EkSlv24ucstnPHuhChpwj 0KWRNXVFWmLUwuoiJ1EwYoYAj1PUceB7FIBdeYDp4mcRCBrSVvjZgWy0jjC1DyapdrBM mpXI2/CFYr7bheddUQO64KD/O6YXIRSXWC5sFBQTZ3C1yc6LTcLFNSEoWbOxQX0zOcrm /J7w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=fiVBcRZ+; 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=NONE dis=NONE) header.from=ibm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m15-20020a50ef0f000000b004acb626972dsi7488347eds.206.2023.03.06.07.34.03; Mon, 06 Mar 2023 07:34:27 -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=@ibm.com header.s=pp1 header.b=fiVBcRZ+; 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=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231344AbjCFPKj (ORCPT + 99 others); Mon, 6 Mar 2023 10:10:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57296 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230456AbjCFPKb (ORCPT ); Mon, 6 Mar 2023 10:10:31 -0500 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CFF5222A1C; Mon, 6 Mar 2023 07:10:23 -0800 (PST) Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 326EwUsD023909; Mon, 6 Mar 2023 15:10:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=nrXCAvaJjz2L30F4zB4s/xlzVnWIOeQfO3bhE2rcpwM=; b=fiVBcRZ+cNy6EJTI0ejxqv3csq0obX7dCNqqA/OKxFr6ijjEmHPB0z4p4Ijw4YYRljHW fEKMH86GXxQEpFD4IStI/PKOQoJpa6leazV3Ev+7lvA7HwH/pRybRDp8nXri9VpBChew PPfOOE0ZFufanZDwG2/+anP0d58jH1Z/Ra2vweNscajEpuOQWjqhomKRQEEh7xUI9IPr KC19CmS0zh0YCgrCp5ml/WYseDPNUfpJ09ym/bEQsAAx38E0SZY419c6oxXT3AXQ3im5 xLPpefPDrUOf2tFWnOroQ212O0Lmm3E4wTGI+tZhPhjEDJFoZX+5eRuFBP5u3iVoL7bz OQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p500dpbh8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:22 +0000 Received: from m0098404.ppops.net (m0098404.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 326EuguL014491; Mon, 6 Mar 2023 15:10:22 GMT Received: from ppma05fra.de.ibm.com (6c.4a.5195.ip4.static.sl-reverse.com [149.81.74.108]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p500dpbg8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:22 +0000 Received: from pps.filterd (ppma05fra.de.ibm.com [127.0.0.1]) by ppma05fra.de.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3265Wnpw030346; Mon, 6 Mar 2023 15:10:19 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma05fra.de.ibm.com (PPS) with ESMTPS id 3p417q29ts-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:19 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 326FAGKt17039772 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 6 Mar 2023 15:10:16 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0200C20040; Mon, 6 Mar 2023 15:10:16 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B3FEE20049; Mon, 6 Mar 2023 15:10:15 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 6 Mar 2023 15:10:15 +0000 (GMT) From: Niklas Schnelle To: Bjorn Helgaas , Lukas Wunner Cc: Gerd Bayer , Matthew Rosato , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH v2 2/4] s390/pci: only add specific device in zpci_bus_scan_device() Date: Mon, 6 Mar 2023 16:10:12 +0100 Message-Id: <20230306151014.60913-3-schnelle@linux.ibm.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230306151014.60913-1-schnelle@linux.ibm.com> References: <20230306151014.60913-1-schnelle@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: K5H1T0Z0G4VSQ-gHJOwzuz_RGFiVhN7h X-Proofpoint-GUID: 51UhDrOQm3kH5qjA4TWU4712uDItC64q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-06_08,2023-03-06_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 suspectscore=0 adultscore=0 malwarescore=0 priorityscore=1501 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303060133 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759633072084425437?= X-GMAIL-MSGID: =?utf-8?q?1759633072084425437?= As the name suggests zpci_bus_scan_device() is used to scan a specific device and thus pci_bus_add_device() for that device is sufficient. Furthermore move this call inside the rescan/remove locking. Signed-off-by: Niklas Schnelle Reviewed-by: Matthew Rosato --- arch/s390/pci/pci_bus.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c index a99926af2b69..ae46c280b35f 100644 --- a/arch/s390/pci/pci_bus.c +++ b/arch/s390/pci/pci_bus.c @@ -85,9 +85,8 @@ int zpci_bus_scan_device(struct zpci_dev *zdev) if (!pdev) return -ENODEV; - pci_bus_add_device(pdev); pci_lock_rescan_remove(); - pci_bus_add_devices(zdev->zbus->bus); + pci_bus_add_device(pdev); pci_unlock_rescan_remove(); return 0; From patchwork Mon Mar 6 15:10:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Schnelle X-Patchwork-Id: 64805 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp1921850wrd; Mon, 6 Mar 2023 08:02:26 -0800 (PST) X-Google-Smtp-Source: AK7set8EaacDOLeNeuuKs9ECcPJM7Fpl7gYJsjCDLTYSGBr++e6GoosA/1Ve6qzvzUavttbG3HnQ X-Received: by 2002:a17:90b:4b41:b0:234:f4a:8985 with SMTP id mi1-20020a17090b4b4100b002340f4a8985mr12249700pjb.15.1678118546317; Mon, 06 Mar 2023 08:02:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678118546; cv=none; d=google.com; s=arc-20160816; b=KY8X1iBflkzD5qrsiIlnLYg/Ci6eNwOybC3mIWiSZ7jfNvW7ONZLiqB4tQYJxnCiZl /7qVnRU1NW6vTEx6mdR5Ki1+5bNeB4oZBNF1raoquWcEdcxrA6jO6gfIQb0lKtuqZC2e AnijvbvEhkTKA370C2o9HweBx8Dd42FlBK9fRnFgi4dm+8X2N7pKzIlgqXkMX/d9F6kC Jo5mUUpI6Qx/NXZ7CHU9Obx/BIW+hBVFvGnH9JLPZ8/nUZwWarc6eon5EmNb6t6rZnvx gqKCRmTVoK6u8M8KD/bJqkJltuUUuxGX2tI/ZTQefqYHdGTN0BnQ91fD4l4xBwL3UFnp PU+w== 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=y/YyNieYbjzn7JIiKHtS24mjVTN20HTpFwwmJykUrWs=; b=tK2CNu+5299SbhKdrIPnB9yJ6EL0HOzP0SULhChiu5Hmzsnd1vtvUiNaKggg/gw9qZ jQacL55yiEq71jow9ZQ+oDFIo5gcK2l0PR4qZMmxC6pA3XH6ibS+IMOuo1XfX1S0ACE3 iJX3/uR2GUZsF6amuVI7QqHRvK2Vh1Eq9eiwFBX7prDVjv4tbgupwhB1oWhlLLr6c/Dj npZbrgWeaTV4AdgBrNstK2YBhsnGI6KMnhVMtl+gXyFDakLVRI7nRWlwTfcoeHCJGmjM GjwUnMi+UdB6AuXT6h2sHa1lZuJ1nPHEyKKlCPY1JIfEoImVOI8m4nKjp1V5PmPJbpRY dR0A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=CBH6oSDe; 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=NONE dis=NONE) header.from=ibm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id lb1-20020a17090b4a4100b00233efa8d3e5si13846458pjb.20.2023.03.06.08.02.14; Mon, 06 Mar 2023 08:02:26 -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=@ibm.com header.s=pp1 header.b=CBH6oSDe; 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=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231350AbjCFPKn (ORCPT + 99 others); Mon, 6 Mar 2023 10:10:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229671AbjCFPKc (ORCPT ); Mon, 6 Mar 2023 10:10:32 -0500 Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BC886222DF; Mon, 6 Mar 2023 07:10:23 -0800 (PST) Received: from pps.filterd (m0098419.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 326F6QxC002064; Mon, 6 Mar 2023 15:10:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=y/YyNieYbjzn7JIiKHtS24mjVTN20HTpFwwmJykUrWs=; b=CBH6oSDeGlYEjD+z7uG/YOtXWimBC1BRahVkv0XN94WCl/KB0GHO9GPulCfXpAkqBRHC owwKun60SYO1mv+rnmurOTUt5ELnD94DWtH02xPZtbkPbVq/bGijFqyPIgIEe+pd+Hw9 jRqByl0CukjrR3EOZ/saMjbrAa4F/n08/Fd7OOcY2Ze2RCHmwLHfIta3EhKnSj7/Sxho +JEvs+GNovl2kNV+nA/Zbwec7SFnOa+1T8ebOW2z8/IpN9uXyBdTh3zfR1Ek12tBB0DC zWM/SXVWYqREQzkIzJtqP6jsnDAvhdn1jT1w4zWlWrZ5ZObgqLpSHk2xgTy8IPekG0Hj cA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-001b2d01.pphosted.com (PPS) with ESMTPS id 3p4yhqypkp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:22 +0000 Received: from m0098419.ppops.net (m0098419.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 326CafVR030044; Mon, 6 Mar 2023 15:10:21 GMT Received: from ppma03fra.de.ibm.com (6b.4a.5195.ip4.static.sl-reverse.com [149.81.74.107]) by mx0b-001b2d01.pphosted.com (PPS) with ESMTPS id 3p4yhqypk2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:21 +0000 Received: from pps.filterd (ppma03fra.de.ibm.com [127.0.0.1]) by ppma03fra.de.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3265Q2eb002533; Mon, 6 Mar 2023 15:10:20 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma03fra.de.ibm.com (PPS) with ESMTPS id 3p41c3t9eh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:19 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 326FAGcK28705388 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 6 Mar 2023 15:10:16 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4E2B320043; Mon, 6 Mar 2023 15:10:16 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0C4F52004B; Mon, 6 Mar 2023 15:10:16 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 6 Mar 2023 15:10:15 +0000 (GMT) From: Niklas Schnelle To: Bjorn Helgaas , Lukas Wunner Cc: Gerd Bayer , Matthew Rosato , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH v2 3/4] s390/pci: remove redundant pci_bus_add_devices() on new bus Date: Mon, 6 Mar 2023 16:10:13 +0100 Message-Id: <20230306151014.60913-4-schnelle@linux.ibm.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230306151014.60913-1-schnelle@linux.ibm.com> References: <20230306151014.60913-1-schnelle@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 8ZV9spihV-45ptrSOt9McaOQtUK-wBnP X-Proofpoint-ORIG-GUID: fKuPVIx_-3WMgfJpQ450_XOGmDBAUlLZ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-06_08,2023-03-06_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 priorityscore=1501 lowpriorityscore=0 bulkscore=0 adultscore=0 phishscore=0 suspectscore=0 clxscore=1015 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303060133 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759634832544308757?= X-GMAIL-MSGID: =?utf-8?q?1759634832544308757?= The pci_bus_add_devices() call in zpci_bus_create_pci_bus() is without function since at this point no device could have been added to the freshly created PCI bus. Suggested-by: Bjorn Helgaas Signed-off-by: Niklas Schnelle Reviewed-by: Matthew Rosato --- arch/s390/pci/pci_bus.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c index ae46c280b35f..f8778cd2c029 100644 --- a/arch/s390/pci/pci_bus.c +++ b/arch/s390/pci/pci_bus.c @@ -210,7 +210,6 @@ static int zpci_bus_create_pci_bus(struct zpci_bus *zbus, struct zpci_dev *fr, s } zbus->bus = bus; - pci_bus_add_devices(bus); return 0; } From patchwork Mon Mar 6 15:10:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Schnelle X-Patchwork-Id: 64769 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp1904179wrd; Mon, 6 Mar 2023 07:29:04 -0800 (PST) X-Google-Smtp-Source: AK7set/etaz//pr6QjDt+IdoJ2qsxwXPOLKXBKInLH+1NNPBipbbOE97S6jPfWGx+H9vdgWBckZW X-Received: by 2002:a17:907:98d2:b0:8af:54d0:181d with SMTP id kd18-20020a17090798d200b008af54d0181dmr9517894ejc.35.1678116544787; Mon, 06 Mar 2023 07:29:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678116544; cv=none; d=google.com; s=arc-20160816; b=XEgNVR3HPu6AFxv6g/IYsHp2iN6abJTwuWWIeDn1I1Y8u6G0ljGewuGhVYuvFJPqsu FnapTgaDohe32B1mXd91vNeGjXR4CC3nejJI+Cb4iTYgczpMuLiaClE2tvcKkzsO5SXr jf4DlkyleM+yPDptez/dUpm06rMlFhGNFFQdQwm6QJaJuE6xciNrXbbHT3UGvzQUQi17 YOwxyPLgYlWxvGjJlYaQ5rmmvP+gfwpHFQX7eP3kB47UIkCSJffVneBq91W8CkG+CmE3 +FCVwq+46HndR8Rp0dp/qB8i7NwYLPcQc/ECFDthD7FOR6RODL+Z3XUpf6O6iFyrWQ/a SB6w== 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=cdeoGIcHHzCL0k2JupdvblKXHbuQ6+3cuSp2bpqbVuw=; b=XJX4VHHtTQ6r6J1UivvJSk4cIXBypokly8Mo0Ccx4FSr5JugkRf/MV2Il5g63yow2R CQ0CsmaF8g/PGeWkHB3EHr3kIA9sEI4Q8dImfEPbq47j2KjLKPKa7hcl7f3QF4CTaaRB gco1r5/f/8wvCtBeHeNPyjwhMgzdE7vxv5ZG84zGiG8NLpuvOm+Zi4j1zHj8xxvR/7x6 5R5G1os4Ts+eUBtj1W5KJ892+BExr+kSOz1VCuuHCC/fWs4hk7nDR+XJDq4hyaPsl2jD 9zkm1UmGmBwz5v0y6fAPCiaygUQRziREcGWS6sPKLM8ssOK0VFr4h9KM8AQbQEhom9jw 9QtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=Y8LGMwzR; 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=NONE dis=NONE) header.from=ibm.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i10-20020a17090685ca00b008c6691eecb6si10335481ejy.235.2023.03.06.07.28.30; Mon, 06 Mar 2023 07:29:04 -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=@ibm.com header.s=pp1 header.b=Y8LGMwzR; 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=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231324AbjCFPKg (ORCPT + 99 others); Mon, 6 Mar 2023 10:10:36 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230446AbjCFPKb (ORCPT ); Mon, 6 Mar 2023 10:10:31 -0500 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9469A21A15; Mon, 6 Mar 2023 07:10:23 -0800 (PST) Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 326E4XeR018627; Mon, 6 Mar 2023 15:10:22 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=cdeoGIcHHzCL0k2JupdvblKXHbuQ6+3cuSp2bpqbVuw=; b=Y8LGMwzRelHs4lavqBhBjbCUyQhn1G1aEtTSx+kbfIWvxsSiq1QySQxT4jBdjfFU3C3X CtTJYAimPRxD+8yuv8KBv+vimIH8Uq2RoS+5WIbD3ZBa0z83jpqRgxU+kCL+FeU84Aaf 35pxyFC2RZt+AW9VxZBQuKgVnhFkKFrrH1mUyrsp4IZLzC5p/iKw5B/XYyoYrd46n+8F C5Rf1JakNTPhI0Mt6ZmPX8f57stYM3vzzbnTxfUOYf2jTxNgY2YhgsLnW5q6PBgVY13Y //U1meB92hYjY3NjTCxa0XXdt0a8EF9+RrVnM3FR8yD0lgbQddVx7FZAqex7qlpy3ziI fA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p507ny1er-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:22 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 326EtDSi016069; Mon, 6 Mar 2023 15:10:22 GMT Received: from ppma06ams.nl.ibm.com (66.31.33a9.ip4.static.sl-reverse.com [169.51.49.102]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3p507ny1dm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:22 +0000 Received: from pps.filterd (ppma06ams.nl.ibm.com [127.0.0.1]) by ppma06ams.nl.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 326BsSEf007338; Mon, 6 Mar 2023 15:10:20 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma06ams.nl.ibm.com (PPS) with ESMTPS id 3p4188avpe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 06 Mar 2023 15:10:20 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 326FAG2516646640 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 6 Mar 2023 15:10:16 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 91FA32004F; Mon, 6 Mar 2023 15:10:16 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 58A012004D; Mon, 6 Mar 2023 15:10:16 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 6 Mar 2023 15:10:16 +0000 (GMT) From: Niklas Schnelle To: Bjorn Helgaas , Lukas Wunner Cc: Gerd Bayer , Matthew Rosato , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH v2 4/4] s390/pci: clean up left over special treatment for function zero Date: Mon, 6 Mar 2023 16:10:14 +0100 Message-Id: <20230306151014.60913-5-schnelle@linux.ibm.com> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20230306151014.60913-1-schnelle@linux.ibm.com> References: <20230306151014.60913-1-schnelle@linux.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: IcLO8TOR6pRVsDO2-ZyQJCW8KESMkqAQ X-Proofpoint-ORIG-GUID: eJCSNeUOt5cZyM-r4XCGa6_SWrlPeyfV X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-06_08,2023-03-06_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2303060133 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759632733993812182?= X-GMAIL-MSGID: =?utf-8?q?1759632733993812182?= Prior to commit 960ac3626487 ("s390/pci: allow zPCI zbus without a function zero") enabling and scanning a PCI function had to potentially be postponed until the function with devfn zero on that bus was plugged. While the commit removed the waiting itself extra code to scan all functions on the PCI bus once function zero appeared was missed. Remove that code and the outdated comments about waiting for function zero. Signed-off-by: Niklas Schnelle Reviewed-by: Matthew Rosato --- arch/s390/pci/pci.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c index e16afacc8fd1..f5709b5dae7a 100644 --- a/arch/s390/pci/pci.c +++ b/arch/s390/pci/pci.c @@ -874,32 +874,15 @@ bool zpci_is_device_configured(struct zpci_dev *zdev) * @fh: The general function handle supplied by the platform * * Given a device in the configuration state Configured, enables, scans and - * adds it to the common code PCI subsystem if possible. If the PCI device is - * parked because we can not yet create a PCI bus because we have not seen - * function 0, it is ignored but will be scanned once function 0 appears. - * If any failure occurs, the zpci_dev is left disabled. + * adds it to the common code PCI subsystem if possible.If any failure occurs, + * the zpci_dev is left disabled. * * Return: 0 on success, or an error code otherwise */ int zpci_scan_configured_device(struct zpci_dev *zdev, u32 fh) { - int rc; - zpci_update_fh(zdev, fh); - /* the PCI function will be scanned once function 0 appears */ - if (!zdev->zbus->bus) - return 0; - - /* For function 0 on a multi-function bus scan whole bus as we might - * have to pick up existing functions waiting for it to allow creating - * the PCI bus - */ - if (zdev->devfn == 0 && zdev->zbus->multifunction) - rc = zpci_bus_scan_bus(zdev->zbus); - else - rc = zpci_bus_scan_device(zdev); - - return rc; + return zpci_bus_scan_device(zdev); } /**