Date: Thu, 11 Sep 2008 22:08:42 +0200 From: Volker <volker@vwsoft.com> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-usb@freebsd.org, Antony Mawer <fbsd-current@mawer.org> Subject: Re: "legacy" usb stack fixes Message-ID: <48C97ACA.70307@vwsoft.com> In-Reply-To: <200809111013.23994.hselasky@c2i.net> References: <20080819211814.6CD685B4D@mail.bitblocks.com> <48B0EA50.2090105@mawer.org> <48B3299F.5080101@vwsoft.com> <200809111013.23994.hselasky@c2i.net>
index | next in thread | previous in thread | raw e-mail
On 09/11/08 10:13, Hans Petter Selasky wrote: > On Monday 25 August 2008, Volker wrote: >> >> Anyway, I've already had those crashes even with the "new" usb stack >> (but it doesn't happen everytime - YMMV). >> > > Hi, > > I also see crashes with my new stuff and the umass driver when the USB device > is un-plugged too early. The backtraces I've got so far does not indicate a > USB problem, though .... > > --HPS > // dropped current@ from CC Hans Petter, the device unplug problem is not just with usb, but these devices are the most frequent unplugged devices so far. Early this week, I discovered a new problem. I've fetched fresh RELENG_7 sources, patched your usb stack in and recompiled kernel (using usb, not usb2). I've seen situations with a process holding open file descriptors for a ugen device being killed but a thread was still hanging in "usbdrain" state (sleeping on a mutex for draining). The process is still holding open file descriptors (I see output from ``fstat | grep ugen'' listing the already killed process), even while the process itself is already killed and not in the process list as a whole. Only a thread of that former process can be seen by ``ps -alxcH'', but it can't be killed. I'm pretty sure I'm able to patch kern_exit.c to have that process being freed completely but I'm also pretty sure, this will just kill a symptom but not the source. While in that situation, the usb port does not react to plug/unplug events anymore. I haven't been able to debug that situation as I do have too much stress at other places as well. Probably I'll find the time tomorrow for debugging. BTW, can you give a quick explanation about usb2? What's different, better? What needs to be done at the driver side to port something over to usb2? Thanks, Volkerhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48C97ACA.70307>
