On Fri, 21 Mar 2003, Matthew N. Dodd wrote:

> On Fri, 21 Mar 2003, John-Mark Gurney wrote:
> > So, the driver can:
> > a)  delete it's own children, but if it gets removed via
> > device_delete_child, this work is already down for you.
>
> If you create children then you're going to be involved in removing them.
>
> There are helper routines that simplify some operations but I don't
> believe any changes to subr_bus.c are needed.

I finally got it working.. I'm not sure exactly what I did, but I can
load/unload the driver w/o crashing the machine...

The bus code could use some locking in it... like you can't delete_child
from child_detache... and/or better docs on how to handle children...  I'm
not even sure how I was doing things wrong, but I think it might of been
problems with my code not calling bus_generic_detach before calling
device_child_delete...

Hmmm..  I'm still not sure exactly why things started behaving properly...
I know a few times I was trying to delete a device that was in the process
of being detached (which of course would try to detach it again)...

Quite confusing.. :(

Thanks for your help though.

later.

John-Mark


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to