From nobody Wed Jan 21 04:37:46 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dwryz4Wnwz6PdLs for ; Wed, 21 Jan 2026 04:37:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dwryz0Dj4z3Sp8 for ; Wed, 21 Jan 2026 04:37:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768970267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iwsvze9QWj1CX9LvTea8eQ3UsIwfa5iFRht+kqvxke4=; b=K7LcfZFnoyVi+p2ZjcuKCegeurlvAJZXqqVZxoSdHmnTUR2ejEF9m4FpHBAmiIuA/VNjy3 0g88PHexFG6dYUtuVHxKV+71s3DiOMKkWBgaul2qvFzx/Zz+a0BASN1QpQeaEWKmoNrg9Y +9AeLNO4PCZ4CHCKcaAeL1x1407/veyBoAM4ocmF+qq3hVF68Aek1TgaCvMJzCBPvAVoZt pKfsKj7MIkFRzLUMTbgGeF7+uabgVX0Hz9Oc3ajoEdDAO7c3TSE7AnqDya81U/o1yrGsaI XU4Tuyh0Di9L5QwjKagW+ubI/HFJtUyu9esF1iWAb3slDJSmSeCyCORaWVBTTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1768970267; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iwsvze9QWj1CX9LvTea8eQ3UsIwfa5iFRht+kqvxke4=; b=Phb5nIQ0394AacdFna9Xk2sRmrUs17gn6KFVrhCSU+aJvzwJIyH6SF2FDI9wUj1zUJCYRO FUW3snIINlH8C8hsOzSB1PfxirjtaITSCnGJ8GvSWNF5JbGyzKdEt/mBb7EscQ0Cd6TBxW GwIH6ukDuVkHOLrWpkRgImnQoB87h6NLA+InM6xzXjA1KwJUxivQMIwkU3EvnXs4fct91N 2B8hcjqonFikdyw0evJBubJfZB6d1jj78iyBbJwq5rc90TtxUd9Ta9EdSU+CoTS1LSCcif 1IVoBR9cVegybYLFIh1kkYeIOY0xtfCeQrcSnwRKZ0BW8R5LYbDw4ahd37JIUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1768970267; a=rsa-sha256; cv=none; b=Gcjp+dLvTUY0qgReuNUtampA9RuQXxy+w43hwYcZVHeF9mWmggTA64Ca4lEZxMC5eHrggC 1SgQQRwij+89HlLWdP6W32T0DTKoDk24bT+v8PVSvkQcbbEXjQEikjFNUocZgBT0w5MnAd 7OCwqtQ+8FAvrn/vP0a5IwEy2VkBlqBQnbpWr07nWYvB+5h2y1tVb1CaajU2gfzvolWMTS Oqn3Ii+yNnz7KsKYY8I63nDX6CQmdG4bOnFxoKqp+Sr39r66XttZi1uolATuyu6R7MOwP6 6RFnEGZQk1nG1WlHPOHXiUqkj+kA8s+EpBQ/PUf57H7SlUHkvEb3sfGYl9r9tg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dwryy6K9qzY5V for ; Wed, 21 Jan 2026 04:37:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38bb7 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 21 Jan 2026 04:37:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Justin Hibbits Subject: git: 21a7a9ef8b49 - main - powerpc/mpc85xx: Fix PCI attach error cleanup List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhibbits X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21a7a9ef8b49ce21b87c8526b526f97cc91fdd43 Auto-Submitted: auto-generated Date: Wed, 21 Jan 2026 04:37:46 +0000 Message-Id: <6970581a.38bb7.e6a6502@gitrepo.freebsd.org> The branch main has been updated by jhibbits: URL: https://cgit.FreeBSD.org/src/commit/?id=21a7a9ef8b49ce21b87c8526b526f97cc91fdd43 commit 21a7a9ef8b49ce21b87c8526b526f97cc91fdd43 Author: Justin Hibbits AuthorDate: 2026-01-21 04:19:28 +0000 Commit: Justin Hibbits CommitDate: 2026-01-21 04:28:41 +0000 powerpc/mpc85xx: Fix PCI attach error cleanup If an error occurs during attach after ofw_pcib_init() runs, the device is torn down, leaving the rmans embedded in the softc attached to the rman list, thus corrupting the rman list. Fix this by undoing everything that was done by this point. MFC after: 1 week --- sys/powerpc/mpc85xx/pci_mpc85xx.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sys/powerpc/mpc85xx/pci_mpc85xx.c b/sys/powerpc/mpc85xx/pci_mpc85xx.c index 8e349df03a51..33dca7ab6c50 100644 --- a/sys/powerpc/mpc85xx/pci_mpc85xx.c +++ b/sys/powerpc/mpc85xx/pci_mpc85xx.c @@ -360,13 +360,13 @@ fsl_pcib_attach(device_t dev) error = ofw_pcib_init(dev); if (error) - return (error); + goto err; /* * Configure decode windows for PCI(E) access. */ if (fsl_pcib_decode_win(node, sc) != 0) - goto err; + goto err1; cfgreg = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_COMMAND, 2); cfgreg |= PCIM_CMD_SERRESPEN | PCIM_CMD_BUSMASTEREN | PCIM_CMD_MEMEN | @@ -392,6 +392,7 @@ fsl_pcib_attach(device_t dev) if (sc->sc_pcie) { ltssm = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_LTSSM, 1); if (ltssm < LTSSM_STAT_L0) { + /* Stay attached, it may change later. */ if (bootverbose) printf("PCI %d: no PCIE link, skipping\n", device_get_unit(dev)); @@ -432,7 +433,15 @@ fsl_pcib_attach(device_t dev) return (ofw_pcib_attach(dev)); +err1: + ofw_pcib_fini(dev); err: + if (sc->sc_irq_res != NULL) + bus_release_resource(dev, sc->sc_irq_res); + if (sc->sc_res != NULL) + bus_release_resource(dev, sc->sc_res); + mtx_destroy(&sc->sc_cfg_mtx); + return (ENXIO); } @@ -680,9 +689,15 @@ fsl_pcib_detach(device_t dev) return (error); sc = device_get_softc(dev); + ofw_pcib_fini(dev); mtx_destroy(&sc->sc_cfg_mtx); + if (sc->sc_irq_res != NULL) + bus_release_resource(dev, sc->sc_irq_res); + if (sc->sc_res != NULL) + bus_release_resource(dev, sc->sc_res); + return (0); }