Date: Sat, 25 Feb 2006 17:40:07 GMT From: Ian Dowse <iedowse@iedowse.com> To: freebsd-usb@FreeBSD.org Subject: Re: usb/83504: [usb] SpeedTouch USB stop working on recent current (and RELENG_6) (regression) Message-ID: <200602251740.k1PHe7c6006603@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR usb/83504; it has been noted by GNATS.
From: Ian Dowse <iedowse@iedowse.com>
To: Diego <siarod@tin.it>
Cc: bug-followup@FreeBSD.org
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602251740.k1PHe7c6006603>
