Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jun 2007 01:51:24 +0300
From:      Nikolay Pavlov <quetzal@zone3000.net>
To:        Julian Elischer <julian@elischer.org>
Cc:        R.Mahmatkhanov@SKYLINK.RU, mav@alkar.net, freebsd-usb@FreeBSD.org
Subject:   WARNING: attempt to net_add_domain(netgraph) after domainfinalize() was [ucom0: could not set data multiplex mode]
Message-ID:  <20070606225124.GA54246@zone3000.net>
In-Reply-To: <20070606203729.GB52124@zone3000.net>
References:  <20070606183213.GA50428@zone3000.net> <4667041D.9030302@elischer.org> <20070606203729.GB52124@zone3000.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wednesday,  6 June 2007 at 23:37:29 +0300, Nikolay Pavlov wrote:
> On Wednesday,  6 June 2007 at 11:59:41 -0700, Julian Elischer wrote:
> > Nikolay Pavlov wrote:
> > >Here is the initial email about the "non-sleepable locks held" issue.
> > >I have got it with my CDMA USB modem in mpd.
> > [...]
> > 
> > >Jun  6 17:03:09 orion kernel: Sleeping on "usbdly" with the following non-sleepable locks held:
> > >Jun  6 17:03:09 orion kernel: exclusive sleep mutex ng_tty node+queue r = 0 (0xc712b6a0) locked @ 
> > >/usr/src/sys/modules/netgraph/tty/../../../netgraph/ng_tt
> > [...]
> > 
> > >Jun  6 17:03:09 orion kernel: witness_warn(5,0,c0a2d773,c0a21ac6,0,...) at witness_warn+0x1cd
> > >Jun  6 17:03:09 orion kernel: _sleep(c0b36e14,0,0,c0a21ac6,3,...) at _sleep+0x5f
> > [...]
> > 
> > >Jun  6 17:03:09 orion kernel: ttyflush(c4008800,3,c7142095,c71420bd,1,...) at ttyflush+0x46
> > >Jun  6 17:03:09 orion kernel: ngt_open(c5a36100,c4008800,368,367,c0b3d494,...) at ngt_open+0x16b
> > >Jun  6 17:03:09 orion kernel: ttioctl(c4008800,8004741b,c6732000,7,c4e23e00,...) at ttioctl+0xdf8
> > 
> > it looks as if the locking in ng_tty.c is less that well thought out.
> > 
> > I am not an expert in the tty subsystem, but it is possible that the ttyflush call in ngt_open() might be moved out from under the NGTLOCK() call..
> > 
> > certainly you need to examine what is needed there.
> > 
> > maybe a different way of serialising the flush is needed.
> > 
> > I can't look at it now, but I think someone should be able to follow the code to see if ttyflush needs to be locked
> > like that.
> 
> Ok. Julian i'll submit a PR regarding this problem.
> 

http://www.freebsd.org/cgi/query-pr.cgi?pr=113432
Done. 

-- 
======================================================================  
- Best regards, Nikolay Pavlov. <<<-----------------------------------    
======================================================================  




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070606225124.GA54246>