suspend/resume operation broken with usb mouse

Poul-Henning Kamp phk at phk.freebsd.dk
Sat Aug 20 09:28:21 GMT 2005


In message <430476F7.6030007 at 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 at 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.


More information about the freebsd-current mailing list