From nobody Sun Dec 1 04:57:59 2024 X-Original-To: dev-commits-src-branches@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 4Y1F6J3xzZz5gDFn; Sun, 01 Dec 2024 04:58:00 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1F6J0PQVz4CWq; Sun, 1 Dec 2024 04:58:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733029080; 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=1CtDZy4qR6C00Jxfufb0U6EwFHE94N2xoeBW0PCkD6U=; b=V1zdNrFWBHgZka9huY3hGjDrWgiXrleWqH6lCv+Wa3HfTH7KgZ1IO3VAXccW/B5WcBwVQY fx94RVf3ov50z7+bRfDXuCQiYhue++Hk7RFR3G+ARXObvMuswD3ZWaumyEDUkeVR5Y06nL ubabO+e+PCwwYJTXryzNw2O8jWUOr8EhEjslvtfkCuTAoaCindd+36cCwEcHtyCZnn2Nic HD+IJNlbZsF4DY8HScNVlDUyq23IanigNmr8K/aZgonjCCHD9p+eoZ79hlB+4137CG076I 49ROGxeSJrSSw6p0PuAodS3aRiLdyI/WiB/PeA/sMCMV9B2RZmuiWdobFH3WSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733029080; 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=1CtDZy4qR6C00Jxfufb0U6EwFHE94N2xoeBW0PCkD6U=; b=SXTHygJSjAfwtJZ8kWhskEoSbS7RT176f6irH55CyZ7ih+tuw4Qe417WUFKtRZoriHSuT1 dcq999OUEkC7DWspjms8Cl9CCP7t1x+SBZCmN8sCRc3zSXOJckPyPXox3PUr+Dx31dgeMM Zoe/nrHWB7pXaTXMgmZhEvnJtn1OS/eTfLvtHbEXbYKCnqHGIXrchlVm9AMI45X46PNDZW SXkNg+22c4Vv2coAOKQ1xeIrLlvBuizLRskWW9FjCoTWnb954oW76y+HLTohXEnh96MKw4 1vka4XhK0ahytYRmjtM/xt5uaSlNvy9/p1BEyngL8VMMBgc2cRRsOAAx7sSJQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733029080; a=rsa-sha256; cv=none; b=ujTpbr6UjMSyfvCiGNS+fBV16EDzmSqvU636/1B8qCgiKGXmoF2yz89m8cA6AeNvSlFv43 tFKTeCAHE4O1Mg8b+8G8XYz5eYi+h3ZwnXA3m2v/rPsfIqKX8JN6z03DuSi/6f5U4E0sYg tFt5jyxrDMRPr1IPwUzWsNXvkFjFZgPrTK9O15fSxXhtKXxVhG8vuxONTun+SgQjdfRX/B N8tEkd661YgQdZXVqsqkLXBHVu8TV3MWW/C5fTREJzxfnhWuLmLvxzdCsl0NNTzT1+E5cy qqdpnXjy2VKYkyOdiJOLkQHrGtDk0Y3BJ4GW4uJdR8giSOJ/cb3YbXhtdC5koQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1F6H73Pszdwd; Sun, 1 Dec 2024 04:57:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B14vxIP097555; Sun, 1 Dec 2024 04:57:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B14vxui097552; Sun, 1 Dec 2024 04:57:59 GMT (envelope-from git) Date: Sun, 1 Dec 2024 04:57:59 GMT Message-Id: <202412010457.4B14vxui097552@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 2e8eefcf3b31 - stable/13 - msk/sk: Use a bus_child_deleted method to free ivars for children List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2e8eefcf3b3120a014abec6232ee3bb5c05e9bd7 Auto-Submitted: auto-generated The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=2e8eefcf3b3120a014abec6232ee3bb5c05e9bd7 commit 2e8eefcf3b3120a014abec6232ee3bb5c05e9bd7 Author: John Baldwin AuthorDate: 2024-11-01 14:09:01 +0000 Commit: John Baldwin CommitDate: 2024-11-30 21:42:09 +0000 msk/sk: Use a bus_child_deleted method to free ivars for children Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47365 (cherry picked from commit 2ff5c85027356038969d03c2beb55b98db389b41) --- sys/dev/msk/if_msk.c | 12 ++++++++---- sys/dev/sk/if_sk.c | 10 ++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c index dfb1de57e39e..e706387e58d3 100644 --- a/sys/dev/msk/if_msk.c +++ b/sys/dev/msk/if_msk.c @@ -253,6 +253,7 @@ static const char *model_name[] = { static int mskc_probe(device_t); static int mskc_attach(device_t); +static void mskc_child_deleted(device_t, device_t); static int mskc_detach(device_t); static int mskc_shutdown(device_t); static int mskc_setup_rambuffer(struct msk_softc *); @@ -336,6 +337,7 @@ static device_method_t mskc_methods[] = { DEVMETHOD(device_resume, mskc_resume), DEVMETHOD(device_shutdown, mskc_shutdown), + DEVMETHOD(bus_child_deleted, mskc_child_deleted), DEVMETHOD(bus_get_dma_tag, mskc_get_dma_tag), DEVMETHOD_END @@ -2054,6 +2056,12 @@ msk_detach(device_t dev) return (0); } +static void +mskc_child_deleted(device_t dev, device_t child) +{ + free(device_get_ivars(child), M_DEVBUF); +} + static int mskc_detach(device_t dev) { @@ -2064,13 +2072,9 @@ mskc_detach(device_t dev) if (device_is_alive(dev)) { if (sc->msk_devs[MSK_PORT_A] != NULL) { - free(device_get_ivars(sc->msk_devs[MSK_PORT_A]), - M_DEVBUF); device_delete_child(dev, sc->msk_devs[MSK_PORT_A]); } if (sc->msk_devs[MSK_PORT_B] != NULL) { - free(device_get_ivars(sc->msk_devs[MSK_PORT_B]), - M_DEVBUF); device_delete_child(dev, sc->msk_devs[MSK_PORT_B]); } bus_generic_detach(dev); diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c index 484954bd9bad..1688d590c149 100644 --- a/sys/dev/sk/if_sk.c +++ b/sys/dev/sk/if_sk.c @@ -185,6 +185,7 @@ static const struct sk_type sk_devs[] = { static int skc_probe(device_t); static int skc_attach(device_t); +static void skc_child_deleted(device_t, device_t); static int skc_detach(device_t); static int skc_shutdown(device_t); static int skc_suspend(device_t); @@ -291,6 +292,7 @@ static device_method_t skc_methods[] = { DEVMETHOD(device_resume, skc_resume), DEVMETHOD(device_shutdown, skc_shutdown), + DEVMETHOD(bus_child_deleted, skc_child_deleted), DEVMETHOD(bus_get_dma_tag, skc_get_dma_tag), DEVMETHOD_END @@ -1743,6 +1745,12 @@ fail: return(error); } +static void +skc_child_deleted(device_t dev, device_t child) +{ + free(device_get_ivars(child), M_DEVBUF); +} + /* * Shutdown hardware and free up resources. This can be called any * time after the mutex has been initialized. It is called in both @@ -1801,11 +1809,9 @@ skc_detach(device_t dev) if (device_is_alive(dev)) { if (sc->sk_devs[SK_PORT_A] != NULL) { - free(device_get_ivars(sc->sk_devs[SK_PORT_A]), M_DEVBUF); device_delete_child(dev, sc->sk_devs[SK_PORT_A]); } if (sc->sk_devs[SK_PORT_B] != NULL) { - free(device_get_ivars(sc->sk_devs[SK_PORT_B]), M_DEVBUF); device_delete_child(dev, sc->sk_devs[SK_PORT_B]); } bus_generic_detach(dev);