Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Aug 2005 11:28:15 +0200
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        Huang wen hui <huang@gddsn.org.cn>
Cc:        current@freebsd.org
Subject:   Re: suspend/resume operation broken with usb mouse 
Message-ID:  <40238.1124530095@phk.freebsd.dk>
In-Reply-To: Your message of "Thu, 18 Aug 2005 19:54:31 %2B0800." <430476F7.6030007@gddsn.org.cn> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <430476F7.6030007@gddsn.org.cn>, Huang wen hui writes:
>hi,
>Using today's CURRENT, my TP42P could not resume with usb mouse.
>cause "double fault" panic. With internal TrackPoint is OK,
>The DDB backtrace message can be found:


Can you try this patch  ?

Index: kern/kern_conf.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_conf.c,v
retrieving revision 1.190
diff -u -r1.190 kern_conf.c
--- kern/kern_conf.c	17 Aug 2005 08:19:52 -0000	1.190
+++ kern/kern_conf.c	20 Aug 2005 09:24:35 -0000
@@ -443,10 +443,14 @@
 static void
 fini_cdevsw(struct cdevsw *devsw)
 {
+	struct cdevsw *gt;
 
-	if (devsw->d_gianttrick != NULL)
-		free(devsw->d_gianttrick, M_DEVT);
-	devsw->d_gianttrick = NULL;
+	if (devsw->d_gianttrick != NULL) {
+		gt = devsw->d_gianttrick;
+		memcpy(devsw, gt, sizeof *devsw);
+		free(gt, M_DEVT);
+		devsw->d_gianttrick = NULL;
+	}
 	devsw->d_flags &= ~D_INIT;
 }
 
-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



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