Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Feb 2007 12:42:14 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: kgdb(1) ... is it broken ?
Message-ID:  <20070227104214.GH77131@deviant.kiev.zoral.com.ua>
In-Reply-To: <200702261833.01791.jhb@freebsd.org>
References:  <20070223061822.GA1497@obelix.dsto.defence.gov.au> <20070224062628.GA8992@obelix.dsto.defence.gov.au> <20070224102351.GO39168@deviant.kiev.zoral.com.ua> <200702261833.01791.jhb@freebsd.org>

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

[-- Attachment #1 --]
On Mon, Feb 26, 2007 at 06:33:01PM -0500, John Baldwin wrote:
> On Saturday 24 February 2007 05:23, Kostik Belousov wrote:
> > On Sat, Feb 24, 2007 at 03:26:28PM +0900, Wilkinson, Alex wrote:
> > >     0n Fri, Feb 23, 2007 at 01:34:39PM +0200, Kostik Belousov wrote: 
> > > 
> > >     >BTW, you panic is caused by nvidia driver. I believe there is a patch 
> by
> > >     >nvidia that would eliminate the problem.
> > > 
> > > Got a link to the patch ?
> > I do not use nvidia cards, and did not saved the link. Search in the
> > archive. 
> 
> Try this:
> 
> Index: kern_conf.c
> ===================================================================
> RCS file: /usr/cvs/src/sys/kern/kern_conf.c,v
> retrieving revision 1.200
> diff -u -r1.200 kern_conf.c
> --- kern_conf.c	20 Oct 2006 07:59:50 -0000	1.200
> +++ kern_conf.c	4 Jan 2007 20:42:07 -0000
> @@ -843,16 +843,20 @@
>  			dev_unlock();
>  			return (0);
>  		}
> -		if (unit == -1 && u == low) {
> -			low++;
> -			de = dev;
> -			continue;
> -		} else if (u < (unit | extra)) {
> -			de = dev;
> -			continue;
> -		} else if (u > (unit | extra)) {
> -			dl = dev;
> -			break;
> +		if (unit == -1) {
> +			if (u == low) {
> +				low++;
> +				de = dev;
> +				continue;
> +			}
> +		} else {
> +			if (u < (unit | extra)) {
> +				de = dev;
> +				continue;
> +			} else if (u > (unit | extra)) {
> +				dl = dev;
> +				break;
> +			}
>  		}
>  	}
>  	if (unit == -1)
> 
> -- 
> John Baldwin
This change has nothing to do with reported panic. Panic is caused by invalid
refcounting in nvidia driver for cdev. Nvidia is already aware of the problem,
and patch from them floated around.

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (FreeBSD)

iD8DBQFF5AsFC3+MBN1Mb4gRAnIRAKC8Ro2NqyUEeu7niarmSCaLHbfSzACdFo90
D5gwOwZThc4K+zmWwVDCs3U=
=YAxy
-----END PGP SIGNATURE-----

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