From nobody Sat Aug 02 01:00:07 2025 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 4bv4HS2TQvz63MNh; Sat, 02 Aug 2025 01:00:20 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bv4HS1rhWz3k11; Sat, 02 Aug 2025 01:00:20 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754096420; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5qTPl3v8BHqbVlg1fZRA/D5Lx0ehU13PKeofg+htorg=; b=Sx6QiZYkNoNtHG8FzaxGVmJN4/GAM+L7E8Xb2EzTtza+fHEihOjKtMBNCTVp6aXq+03CZM 6IzFHSt6WYTXY/E4SRzSaXuhnwVrxOdDuwQe8uyuGPBivaH/oZ99lpTYOMMeY9BzeJCsJz Wj6jN+cJSfQ5GOV8bMJ9hl6OXDvcmVRHqfGA9pGMNVRHXSzHSvq55iK/LV1O/1ergGAmDv BUn1T3ejRvTolCClKSEaTA2Qa8+EdSGk9yFg6rsfVDYDukq4TqWnwsvlikHk6Uf5mVQF0r jNllJuWo9POvsBDw9Jg91WmsO+kR4He1fC0+mEfeO07zlm9mr7+khOwdZM6owA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1754096420; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5qTPl3v8BHqbVlg1fZRA/D5Lx0ehU13PKeofg+htorg=; b=gRjKs6FiAc0s3JjJ56DK6LIDIrCKNo1wtA8nvwvTwGrWKNDMax2kPgYIyrWDObVM5w8V7P +tJJcaFPn5JIcjuSVFXF2fa0buxZfLcGPxM4lZ+z5rM8k7iPTlZr29A6PKZ9H/rzZQiiq7 +rXgpGGQRcFeQxrYR9Gkm6KfuvPTuUTEHEid5CEADtn1UGqoqaCI/M2GBTM9GdzORoXc9Y L7pPkO8X27GXBGeUr1kQ+6NrfZLfQPtolMGfBpolKYBR1uBmZ4z6OVMvhCWBI881OfPlPJ RO2TF5ji6soUUiVI4ZYo9gzPVYSFa+s9eqjzax5XM0C8iv1aN2Ch/hOfXPfMmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1754096420; a=rsa-sha256; cv=none; b=vEAzyH3MoMNjG6cwervBKyhpJeqtw7tIyMsM5MNvlnjkoncTJ6/Rw9R5nH3I3575x5d6ox I1Fc70ndTzH7YM7400Ilft6bj9v5BN3JfyLSrx43Ojs+vXrYQCswigIosl6WspKkh+I4Em YWX5iBAjiYREG3Kt3/ph2IGoHdPbQpY5sGRE6HlfAKSrzboHNq2FC9odZ0TnQX5iFbB+jk qLVrSh+gAN5MAuYuOzDjXp7+tEkPpvwgpQ4eeE8b2Mi7Qs4iMuS8JuZfVz+oVBqGTl/G2g mHbBTvpBSHf1j+gxtObAh/QNtPQNcczMB+9YW5xPpmyqc374vwlC4P5phkhRgg== Received: from smtpclient.apple (ns1.oxydns.net [45.32.91.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4bv4HQ13ytz46T; Sat, 02 Aug 2025 01:00:17 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Content-Type: text/plain; charset=us-ascii 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 (Mac OS X Mail 16.0 \(3696.120.41.1.10\)) Subject: Re: git: 96a550e9dd89 - main - genet: Add a detach routine From: Zhenlei Huang In-Reply-To: <202508012009.571K9FBP097692@gitrepo.freebsd.org> Date: Sat, 2 Aug 2025 09:00:07 +0800 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202508012009.571K9FBP097692@gitrepo.freebsd.org> To: John Baldwin X-Mailer: Apple Mail (2.3696.120.41.1.10) > On Aug 2, 2025, at 4:09 AM, John Baldwin wrote: >=20 > The branch main has been updated by jhb: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D96a550e9dd892f24a479da00ead93fbf= aafb7733 >=20 > commit 96a550e9dd892f24a479da00ead93fbfaafb7733 > Author: John Baldwin > AuthorDate: 2025-08-01 20:07:30 +0000 > Commit: John Baldwin > CommitDate: 2025-08-01 20:07:30 +0000 >=20 > genet: Add a detach routine >=20 > PR: 288309 > Co-authored by: Mike Belanger > MFC after: 2 weeks > --- > sys/arm64/broadcom/genet/if_genet.c | 35 = +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) >=20 > diff --git a/sys/arm64/broadcom/genet/if_genet.c = b/sys/arm64/broadcom/genet/if_genet.c > index 182b5582fb7c..013573f1551b 100644 > --- a/sys/arm64/broadcom/genet/if_genet.c > +++ b/sys/arm64/broadcom/genet/if_genet.c > @@ -201,6 +201,7 @@ struct gen_softc { >=20 > static void gen_init(void *softc); > static void gen_start(if_t ifp); > +static void gen_stop(struct gen_softc *sc); > static void gen_destroy(struct gen_softc *sc); > static int gen_encap(struct gen_softc *sc, struct mbuf **mp); > static int gen_parse_tx(struct mbuf *m, int csum_flags); > @@ -379,6 +380,39 @@ gen_destroy(struct gen_softc *sc) > } > } >=20 > +static int > +gen_detach(device_t dev) > +{ > + struct gen_softc *sc; > + int error; > + > + sc =3D device_get_softc(dev); > + ~~~~~~ > + GEN_LOCK(sc); > + gen_stop(sc); > + GEN_UNLOCK(sc); > + callout_drain(&sc->stat_ch); > + ether_ifdetach(sc->ifp); ~~~~~~ I guess the above logic want be wrapped by condition = `device_is_attached(dev)` . > + > + /* Detach the miibus */ > + error =3D bus_generic_detach(dev); > + if (error !=3D 0) > + return (error); > + > + /* clean up dma */ > + gen_bus_dma_teardown(sc); > + > + /* Release bus resources. */ > + bus_teardown_intr(sc->dev, sc->res[_RES_IRQ1], sc->ih); > + bus_teardown_intr(sc->dev, sc->res[_RES_IRQ2], sc->ih2); > + bus_release_resources(sc->dev, gen_spec, sc->res); > + > + if (sc->ifp !=3D NULL) > + if_free(sc->ifp); > + mtx_destroy(&sc->mtx); > + return (0); > +} > + > static int > gen_get_phy_mode(device_t dev) > { > @@ -1805,6 +1839,7 @@ static device_method_t gen_methods[] =3D { > /* Device interface */ > DEVMETHOD(device_probe, gen_probe), > DEVMETHOD(device_attach, gen_attach), > + DEVMETHOD(device_detach, gen_detach), >=20 > /* MII interface */ > DEVMETHOD(miibus_readreg, gen_miibus_readreg),