Maksim Yevmenkin wrote: > On 7/27/07, Maksim Yevmenkin <maksim.yevmenkin_at_gmail.com> wrote: >> On 7/26/07, Julian Elischer <julian_at_elischer.org> wrote: >>> Maksim Yevmenkin wrote: >>>> Dear All, >>>> >>>> it seems to me that nmdm(4) is not calling .l_close (i.e. does not >>>> close whatever line discipline might be installed onto /dev/nmdmXX). >>>> the problem is easy to reproduce - just open /dev/nmdm0A and install, >>>> say, ng_tty(4) line discipline onto it. after that, simply close the >>>> /dev/nmdm0A. in theory, the ng_tty(4) node should disappear when >>>> device is closed, but it does not. > > [...] > >> i have not tried other disciplines yet, i.e. ppp and slip, > > ok, i changed the patch to > > === > > diff -u nmdm.c.orig nmdm.c > --- nmdm.c.orig 2006-11-21 16:59:40.000000000 -0800 > +++ nmdm.c 2007-07-27 15:57:50.000000000 -0700 > _at__at_ -401,8 +401,13 _at__at_ > static int > nmdmclose(struct cdev *dev, int flag, int mode, struct thread *td) > { > + struct tty *tp = dev->si_tty; > + int error; > > - return (tty_close(dev->si_tty)); > + error = ttyld_close(tp, flag); > + (void) tty_close(tp); > + > + return (error); > } looks fine to me > > static void > > === > > and tried it with h4, ppp and slip line disciplines. it seems to work. > since nmdmopen() calls ttyld_open(), nmdmclose(), imo, should call > ttyld_close(). > > any comments? > > thanks, > maxReceived on Sat Jul 28 2007 - 01:28:10 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:15 UTC