Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp5203393rdb; Wed, 13 Dec 2023 01:47:49 -0800 (PST) X-Google-Smtp-Source: AGHT+IFaeobTOykX8/3ZAreD6Xa0V5DaLR6oRLf4+XBaJs+Wy/kGABva8CXpZCE/XTn52OI2Gcsc X-Received: by 2002:a05:6870:ec8b:b0:1fb:75c:400e with SMTP id eo11-20020a056870ec8b00b001fb075c400emr9032820oab.110.1702460869256; Wed, 13 Dec 2023 01:47:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702460869; cv=none; d=google.com; s=arc-20160816; b=g7r26ZkpBPOfTvDZg6emsdOsXv4SGoyfPTSX5qEJjLXesTJjhOgAOKs/rKPMbjE6yQ jDv9kKS0UG82Mc4GG+AoJXDT/qJZuqarWkhdinQAZNBfEDGge2BM7LVf+ZZBOyBZnRq0 xlf14evTvEa38e65d4M81JaFuCBSnNbU2BmTmc/In1bhZvswmef4LLkMJ5j3l9nyIveK jcP1AYiDHuPrQrH2F4bM+RcO3ZIFRIi/3E2+3x6yl1VcnuN4ao+Lyk2s5K8v7iY1ZRK5 uo2zjcQxNmkDCw+KK5BJYlnnCwwdWLuiHCYik+pmjkd6hileu86XK2Hsr8L/I4A5lJuF amkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id; bh=F0ylN1PxXVBnU6U3Wj7f34ysUPerqlcAdbK93Wa8BSs=; fh=rZmderCaT8PM3O7dWqrRCj75FIZKR8SsyUnoR0xKeDA=; b=a969e4oA8z8dFj/bdbcexCmzJQ8chUlHYHdvO0QJh6PzotXnWEJ9BGru5wUe7zIscr aN12TWjseILbAm0xU3Vj0PoTBO4R3zLPYM1iVlMTcfUxLRe1xZDaqMfX51UjtLfGaqSl WeW8pfPB57A53FDyCId1rLVwjBfImTqZ8nfw27PQdhKV7JIdOSjTBuqsP0ObELsAQKNa qpPXS1frvzzrFw3P8BWvxYcw5l+GePLYm/itAFKIaQ8W8DcErORAvi88vY87lXzsF+zB rc/3LDevpLvrM2PC5Rbl8jeRwkyfHtfk7/Px+QM1StxlOQ0NkqkZg/IuwfRv8X6U9ni6 3Hew== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id c14-20020a634e0e000000b005bd04873387si8880891pgb.105.2023.12.13.01.47.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 01:47:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id D114082250A8; Wed, 13 Dec 2023 01:47:46 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233146AbjLMJrb (ORCPT + 99 others); Wed, 13 Dec 2023 04:47:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229458AbjLMJr3 (ORCPT ); Wed, 13 Dec 2023 04:47:29 -0500 Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0661391; Wed, 13 Dec 2023 01:47:35 -0800 (PST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 9247B46E68; Wed, 13 Dec 2023 10:47:32 +0100 (CET) Message-ID: <501c1078-ef45-4469-87f8-32525d6f2608@proxmox.com> Date: Wed, 13 Dec 2023 10:47:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC 1/2] PCI: acpiphp: enable slot only if it hasn't been enabled already To: Igor Mammedov , linux-kernel@vger.kernel.org Cc: Dongli Zhang , linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, mst@redhat.com, rafael@kernel.org, lenb@kernel.org, bhelgaas@google.com, mika.westerberg@linux.intel.com, boris.ostrovsky@oracle.com, joe.jin@oracle.com, stable@vger.kernel.org, Thomas Lamprecht References: <20231213003614.1648343-1-imammedo@redhat.com> <20231213003614.1648343-2-imammedo@redhat.com> Content-Language: en-US From: Fiona Ebner In-Reply-To: <20231213003614.1648343-2-imammedo@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 13 Dec 2023 01:47:47 -0800 (PST) Am 13.12.23 um 01:36 schrieb Igor Mammedov: > When SCSI_SCAN_ASYNC is enabled (either via config or via cmd line), > adding device to bus and enabling it will kick in async host scan > > scsi_scan_host+0x21/0x1f0 > virtscsi_probe+0x2dd/0x350 > .. > driver_probe_device+0x19/0x80 > ... > driver_probe_device+0x19/0x80 > pci_bus_add_device+0x53/0x80 > pci_bus_add_devices+0x2b/0x70 > ... > > which will schedule a job for async scan. That however breaks > if there are more than one SCSI host behind bridge, since > acpiphp_check_bridge() will walk over all slots and try to > enable each of them regardless of whether they were already > enabled. > As result the bridge might be reconfigured several times > and trigger following sequence: > > [cpu 0] acpiphp_check_bridge() > [cpu 0] enable_slot(a) > [cpu 0] configure bridge > [cpu 0] pci_bus_add_devices() -> scsi_scan_host(a1) > [cpu 0] enable_slot(b) > ... > [cpu 1] do_scsi_scan_host(a1) <- async jib scheduled for slot a > ... > [cpu 0] configure bridge <- temporaly disables bridge > > and cause do_scsi_scan_host() failure. > The same race affects SHPC (but it manages to avoid hitting the race due to > 1sec delay when enabling slot). > To cover case of single device hotplug (at a time) do not attempt to > enable slot that have already been enabled. > > Fixes: 40613da52b13 ("PCI: acpiphp: Reassign resources on bridge if necessary") > Reported-by: Dongli Zhang > Reported-by: iona Ebner Missing an F here ;) > Signed-off-by: Igor Mammedov Thank you! Works for me: Tested-by: Fiona Ebner