From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, RCVD_IN_ZEN_BLOCKED_OPENDNS,SPF_PASS,URIBL_DBL_BLOCKED_OPENDNS, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 Authentication-Results: server-vie001.gnuweeb.org; dkim=pass (2048-bit key; secure) header.d=linutronix.de header.i=@linutronix.de header.a=rsa-sha256 header.s=2020 header.b=G5tiEBYx; dkim=pass header.d=linutronix.de header.i=@linutronix.de header.a=ed25519-sha256 header.s=2020e header.b=V/7op6CT; dkim-atps=neutral Received: by server-vie001.gnuweeb.org (Postfix, from userid 1000) id D03DC3127C8A; Thu, 7 Aug 2025 05:03:56 +0000 (UTC) Authentication-Results: server-vie001.gnuweeb.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=193.142.43.55; helo=galois.linutronix.de; envelope-from=namcao@linutronix.de; receiver= Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by server-vie001.gnuweeb.org (Postfix) with ESMTPS id 4F4533127C8B for ; Thu, 7 Aug 2025 05:03:56 +0000 (UTC) Date: Thu, 7 Aug 2025 07:03:50 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1754543035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=zXrQVRIdd7zZfKXZgOCzm4TnwtW/ih2Oep05XxnBgWY=; b=G5tiEBYx0lgflvflWOSrh8YLZ+IopxZI6roi8nq+09St+U0F2OGX7bhK1j4tiLwiCwcbYP 5qd35Rvj9uho248zIsilGoGVMneLNZBNhQqTRaGclo4opvzTxmoNEnKU0jtt3GEvYId1+H 4JvNoONadWkJ6espJyE3oNNizyh+3bawdCMEslqBfIZZGjklw/4YbnuR637qYpk8LIEZxy 85i9BW3E/+aE03sbd87fEd6Ll5dBttn1leL2czf3HmtzHV3qhFmjgH/L3YI+bncgLP0ZGZ 2yLGBB7gF/OBVUHZdvDZgbJJUsDUgeaZXwVIdAntwZFJNHHEfhE8iMu5s0bHNw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1754543035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=zXrQVRIdd7zZfKXZgOCzm4TnwtW/ih2Oep05XxnBgWY=; b=V/7op6CTN27/9gFjMez3Xr3ht3XqOPJsfmWKYfpJMd9L4v60SRV+/OVlblvmSonlRJdEGJ isjyUsiJlTXaz8DQ== From: Nam Cao To: Ammar Faizi Cc: Lukas Wunner , Bjorn Helgaas , Linus Torvalds , Linux PCI Mailing List , Linux Kernel Mailing List , Rob Herring , Lorenzo Pieralisi , Manivannan Sadhasivam , Krzysztof Wilczynski , Armando Budianto , Alviro Iskandar Setiawan , gwml@vger.gnuweeb.org Subject: Re: [GIT PULL v2] PCI changes for v6.17 Message-ID: <20250807050350.FyWHwsig@linutronix.de> References: <20250801142254.GA3496192@bhelgaas> <175408424863.4088284.13236765550439476565.pr-tracker-bot@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: On Thu, Aug 07, 2025 at 11:54:12AM +0700, Ammar Faizi wrote: > On Thu, Aug 07, 2025 at 05:51:57AM +0200, Lukas Wunner wrote: > > Kenneth reports early-stage reboots caused by d7d8ab87e3e > > ("PCI: vmd: Switch to msi_create_parent_irq_domain()"): > > > > https://lore.kernel.org/all/dfa40e48-8840-4e61-9fda-25cdb3ad81c1@panix.com/ > > > > Perhaps you're witnessing the same issue? > > Confirmed, reverting that commit works on my machine. I'll try to > further diagnose it and report more details. Does the diff below help? diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c index 9bbb0ff4cc15..b679c7f28f51 100644 --- a/drivers/pci/controller/vmd.c +++ b/drivers/pci/controller/vmd.c @@ -280,10 +280,12 @@ static int vmd_msi_alloc(struct irq_domain *domain, unsigned int virq, static void vmd_msi_free(struct irq_domain *domain, unsigned int virq, unsigned int nr_irqs) { + struct irq_data *irq_data; struct vmd_irq *vmdirq; for (int i = 0; i < nr_irqs; ++i) { - vmdirq = irq_get_chip_data(virq + i); + irq_data = irq_domain_get_irq_data(domain, virq + i); + vmdirq = irq_data->chip_data; synchronize_srcu(&vmdirq->irq->srcu);