Panic with usb serial

Kostik Belousov kostikbel at gmail.com
Wed Apr 2 04:16:53 PDT 2008


On Wed, Apr 02, 2008 at 10:50:39AM +0100, Vince Hoffman wrote:
> Kostik Belousov wrote:
> > On Tue, Apr 01, 2008 at 09:55:19AM +0100, Vince Hoffman wrote:
> >> Kostik Belousov wrote:
> >>> On Mon, Mar 31, 2008 at 12:13:31PM +0100, Vince Hoffman wrote:
> >>>> Kostik Belousov wrote:
> >>> Compile the ddb into the kernel (instructions are provided at the same
> >>> web page) and post the output of the console on the panic
> >> I tried this but other than the fact I can drop into ddb and step though
> >> stuff I'm not sure what I can do with it. Since I cant (obviously) get a
> >> serial console on my laptop I have done it the other way and taken a
> >> picture of the console on panic. When I have more time I'll carry on
> >> reading up on ddb but I think I have a steep learning curve since my
> >> previous looks at programing stopped at 'hello world':)
> >> Panic console at:
> >> http://unsane.co.uk/~jhary/freebsd/IMAGE_119.jpg
> > 
> > Thanks, this is enough. Two chunks were missed from the rev. 1.210.
> > Please, try the patch below.
> > 
> > diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
> > index 843498e..7e6e048 100644
> > --- a/sys/kern/kern_conf.c
> > +++ b/sys/kern/kern_conf.c
> > @@ -402,8 +402,7 @@ giant_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread
> >  	if (dsw == NULL)
> >  		return (ENXIO);
> >  	mtx_lock(&Giant);
> > -	retval = dev->si_devsw->d_gianttrick->
> > -	    d_ioctl(dev, cmd, data, fflag, td);
> > +	retval = dsw->d_gianttrick->d_ioctl(dev, cmd, data, fflag, td);
> >  	mtx_unlock(&Giant);
> >  	dev_relthread(dev);
> >  	return (retval);
> > @@ -419,8 +418,7 @@ giant_read(struct cdev *dev, struct uio *uio, int ioflag)
> >  	if (dsw == NULL)
> >  		return (ENXIO);
> >  	mtx_lock(&Giant);
> > -	retval = dev->si_devsw->d_gianttrick->
> > -	    d_read(dev, uio, ioflag);
> > +	retval = dsw->d_gianttrick->d_read(dev, uio, ioflag);
> >  	mtx_unlock(&Giant);
> >  	dev_relthread(dev);
> >  	return (retval);
> 
> Hi Kostik,
> 	Yes this stops the panic. I do still get the console spammed with
> informational messages
> 
> Apr  2 10:36:30 prawn kernel: ucom0: <FTDI usb serial converter, class
> 0/0, rev 1.10/4.00, addr 3> on uhub2
> Apr  2 10:36:33 prawn login: ROOT LOGIN (toor) ON ttyv0
> Apr  2 10:36:56 prawn kernel: ucom0: ucomreadcb: IOERROR
> Apr  2 10:36:56 prawn kernel: ucom0: at uhub2 port 1 (addr 3) disconnected
> Apr  2 10:36:57 prawn kernel: Still 4294967295 threads in ttyU0
> Apr  2 10:37:16 prawn last message repeated 188 times
> Apr  2 10:37:16 prawn login: ROOT LOGIN (toor) ON ttyv1
> Apr  2 10:37:16 prawn kernel: Still 4294967295 threads in ttyU0
> Apr  2 10:37:47 prawn last message repeated 303 times
> Apr  2 10:37:55 prawn last message repeated 85 times
> 
> 
> but I can live with that.
> 
> I had opened PR usb/122287 for this, and I have updated this with the
> relevent information from this thread.

I committed the fix to the HEAD. I tested the patch with the uark(4)
cable, and simply running the tip over the ttyU0 did not produced the
"Still -1 threads in ttyU0" message. Are you running tip, or something
else over the port ?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20080402/7de95e29/attachment.pgp


More information about the freebsd-stable mailing list