Date: Sun, 23 Mar 2003 17:55:07 +0700 (ICT) From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: "Matthew N. Dodd" <mdodd@FreeBSD.ORG> Cc: dfr@FreeBSD.ORG, <hackers@FreeBSD.ORG> Subject: Re: bug in subr_bus.c? Message-ID: <20030323174445.K36261-100000@resnet.uoregon.edu> In-Reply-To: <20030321094447.E8716@sasami.jurai.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030323174445.K36261-100000>