Date: Sun, 27 Mar 2005 11:47:02 +0000 From: Sebastien B <sebastien.b@swissinfo.org> To: ticso@cicely.de Cc: freebsd-usb@freebsd.org Subject: Re: What's the right way to wait for an USB transfer to complete ? Message-ID: <200503271147.03573.sebastien.b@swissinfo.org> In-Reply-To: <20050326233214.GM14532@cicely12.cicely.de> References: <200503261558.21943.sebastien.b@swissinfo.org> <200503262158.32320.sebastien.b@swissinfo.org> <20050326233214.GM14532@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, > Havn't looked at your code yet, but the panic is by accessing a > memory location near address 0, so it's very likely that you are > accesing a structure member from a NULL pointer. > A stack trace from kernel debugger should easily tell you which > function made the access Yes, I already did that ; the panic is inside propagate_priority, called by turnstile_wait. Really confusing :-( > > You mean I must hold Giant every time I call any USB function ? I've > > never seen any driver doing this... > > Yes - holding GIANT ist required. > You don't see this because currently all USB drivers are already > entered with GIANT held. Ok, thanks for the info. I'll lock Giant in the software interrupt handlers which access USB, maybe the crash is because of that (race condition damaging kernel structures ?) Regards, Sebastien
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503271147.03573.sebastien.b>