From owner-freebsd-current@FreeBSD.ORG Wed Aug 8 16:27:32 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0AE34106564A for ; Wed, 8 Aug 2012 16:27:32 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe05.c2i.net [212.247.154.130]) by mx1.freebsd.org (Postfix) with ESMTP id 8298D8FC0C for ; Wed, 8 Aug 2012 16:27:30 +0000 (UTC) X-T2-Spam-Status: No, hits=-1.0 required=5.0 tests=ALL_TRUSTED Received: from [176.74.212.201] (account mc467741@c2i.net HELO laptop015.hselasky.homeunix.org) by mailfe05.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 302261321; Wed, 08 Aug 2012 18:27:24 +0200 From: Hans Petter Selasky To: freebsd-current@freebsd.org Date: Wed, 8 Aug 2012 18:27:53 +0200 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <20120801160323.GN2676@deviant.kiev.zoral.com.ua> <201208071703.13773.hselasky@c2i.net> <20120808113133.GO2676@deviant.kiev.zoral.com.ua> In-Reply-To: <20120808113133.GO2676@deviant.kiev.zoral.com.ua> X-Face: 'mmZ:T{)),Oru^0c+/}w'`gU1$ubmG?lp!=R4Wy\ELYo2)@'UZ24N@d2+AyewRX}mAm; Yp |U[@, _z/([?1bCfM{_"B<.J>mICJCHAzzGHI{y7{%JVz%R~yJHIji`y>Y}k1C4TfysrsUI -%GU9V5]iUZF&nRn9mJ'?&>O MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201208081827.53824.hselasky@c2i.net> Cc: Konstantin Belousov , Ed Schouten Subject: Re: ttydev_cdevsw has no d_purge X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Aug 2012 16:27:32 -0000 On Wednesday 08 August 2012 13:31:33 Konstantin Belousov wrote: > On Tue, Aug 07, 2012 at 05:03:13PM +0200, Hans Petter Selasky wrote: > > On Sunday 05 August 2012 10:33:13 Hans Petter Selasky wrote: > > > On Friday 03 August 2012 10:32:47 Ed Schouten wrote: > > > > 2012/8/1 Hans Petter Selasky : > > > > > I think the problem is like this, that in order to re-use the unit > > > > > numbers for USB serial tty devices, the USB stack needs to wait > > > > > until a TTY is actually freed, right? Else you will have a panic > > > > > on creating devfs entries having the same name. > > > > > > > > Indeed. So the USB code could simply pick a different unit number. > > > > > > Hi Ed, > > > > > > USB could use a different Unit number. Some questions: > > > > > > When can the previous unit number be re-used? Is there a callback for > > > this? > > > > > > When can the USB serial code assume that it will not be called again > > > and that all callbacks are drained? > > > > Hi, > > > > Can you try the attached patch and report back? > > I applied the patch and reloaded ucom and uplcom. So far there were no > power glitches so UPS did not dropped off the bus yet. > > I have a question regarding the changed fragment of code. Why don't you use > unr(9) KPI to manage unit numbers ? Probably I could, but right now the unr interface doesn't support pending unit free which I need for other reasons, see below. Ed: I would really like to see a custom argument for the tsw_free(), because it only needs to know the unit number, and the xsc for UCOM is freed when this is called and cannot be referred. Is it possible to have a separate "void *" for the tsw_free() function? Is this something which you can implement? --HPS