Re: [PATCH] ucom - destroy device node on detach

看板DFBSD_submit作者時間15年前 (2010/10/07 17:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
Patch looks good to me, but you could move the destroy_dev() out of under the tty_token; the tty_token in drivers is mainly intended to serialize the tty structure access and such. Cheers, Alex On 07/10/10 03:27, YONETANI Tomokazu wrote: > Issuing `ls /dev' after unloading the driver triggered a panic because > of the stale device node. > --- > sys/dev/usbmisc/ucom/ucom.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/sys/dev/usbmisc/ucom/ucom.c b/sys/dev/usbmisc/ucom/ucom.c > index f85c3b7..a0a7260 100644 > --- a/sys/dev/usbmisc/ucom/ucom.c > +++ b/sys/dev/usbmisc/ucom/ucom.c > @@ -177,7 +177,7 @@ ucom_attach(struct ucom_softc *sc) > > DPRINTF(("ucom_attach: make_dev: ucom%d\n", unit)); > > - dev = make_dev(&ucom_ops, unit | UCOM_CALLOUT_MASK, > + sc->dev = dev = make_dev(&ucom_ops, unit | UCOM_CALLOUT_MASK, > UID_UUCP, GID_DIALER, 0660, > "ucom%d", unit); > dev->si_tty = tp; > @@ -194,6 +194,7 @@ ucom_detach(struct ucom_softc *sc) > > DPRINTF(("ucom_detach: sc = %p, tp = %p\n", sc, sc->sc_tty)); > > + destroy_dev(sc->dev); > lwkt_gettoken(&tty_token); > sc->sc_dying = 1; >
文章代碼(AID): #1ChPENCN (DFBSD_submit)
文章代碼(AID): #1ChPENCN (DFBSD_submit)