Panic with usb serial

Vince Hoffman jhary at unsane.co.uk
Wed Apr 2 02:50:44 PDT 2008


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.

Thanks,
Vince




More information about the freebsd-stable mailing list