Matthew Dillon <[EMAIL PROTECTED]> wrote: > :... > : > :Apparently uplcom.c in FreeBSD now uses taskqueue to avoid this situation. > :I'm not sure we can do it the same way, though. > : > : revision 1.27 > : date: 2005-01-31 22:58:10 +0900; author: akiyama; state: Exp; lines: > +18 -0; > : Use a taskqueue to handle port status changes. > : Calling ucom layer directly from interrupt context make a panic. > : > : MFC after: 1 week > : > :Cheers. > > Yah, you'll have to port the taskqueue change.
Thanks for the hint! I have an updated patch at http://www.ecademix.com/JohannesHofmann/uplcom2.diff.gz No crashes so far. Johannes > > The panic is not *actually* due to a missing process context, because > the curproc check was removed from that particular codepath. It's due > to the routine being called from an interrupt. The procedure does > some nasty stuff, including calling tsleep(), so it really can't be > called directly from an interrupt. > > -Matt > Matthew Dillon > <[EMAIL PROTECTED]>
