The following reply was made to PR usb/83504; it has been noted by GNATS.
From: Ian Dowse <[EMAIL PROTECTED]>
To: Diego <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
Subject: Re: usb/83504: [usb] SpeedTouch USB stop working on recent current
(and RELENG_6) (regression)
Date: Sat, 25 Feb 2006 17:33:59 +0000
Hi, could you see if the following patch helps? Since the code is
already prepared to release devmtx and sleep, and since there is a
timeout specified, it seems there should be no harm in dropping
the devmtx lock around the d_purge call too.
Ian
Index: kern_conf.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/kern/kern_conf.c,v
retrieving revision 1.186.2.5
diff -u -r1.186.2.5 kern_conf.c
--- kern_conf.c 6 Nov 2005 15:58:06 -0000 1.186.2.5
+++ kern_conf.c 25 Feb 2006 17:26:12 -0000
@@ -662,7 +662,9 @@
while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount) {
printf("Purging %lu threads from %s\n",
dev->si_threadcount, devtoname(dev));
+ dev_unlock();
csw->d_purge(dev);
+ dev_lock();
msleep(csw, &devmtx, PRIBIO, "devprg", hz/10);
}
if (csw != NULL && csw->d_purge != NULL)
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[EMAIL PROTECTED]"