Subject: Re: aue panic in 3.0
To: Ignatios Souvatzis <is@netbsd.org>
From: Hans Petter Selasky <hselasky@c2i.net>
List: tech-kern
Date: 09/16/2006 10:33:31
On Friday 15 September 2006 22:25, Ignatios Souvatzis wrote:
> On Fri, Sep 15, 2006 at 08:56:49PM +0100, Iain Hibbert wrote:
> > That is true but I think 'can' is not 'will' - if the driver wants to
> > call usbd_transfer from interrupt context, the allocation can be arranged
> > safely in advance, so far as I can tell..?
> >
> > > and secondly in the case which Ignatios reported, USBD_SYNCHRONOUS is
> > > set, so usbd_transfer will sleep!
> >
> > yeah :)
>
> Well, I've moved multicast filter setting (which is about all
> initialization) to a workqueue(9) (which is something like a wrapper
> around a working thread).
>
> I wonder if the ipv6 Neighbour Discovery code should do this instead at
> a higher level, so that the ioctl() function is never called from
> interupt context...
>

What do you do if the USB device is reading/writing registers while it is 
detached? Do you tear down that workqueue first?

--HPS