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>