On Tue, Nov 30, 1999 at 02:59:10PM -0700, Warner Losh wrote:
> In message <[EMAIL PROTECTED]> Christopher Masto writes:
> : I found that the only message printed was "ready to power off".
> 
> bingo.  looks like we're not deleting the child.  Try replacing that
> for loop with something like:
> 
>       pccarddev = devclass_get_device(pccard_devclass, slt->slot);
>       device_get_children(pccarddev, &kids, &nkids)
>       for (i = 0; i < nkids; i++)
>               device_delete_child(pccarddev, kid[0]);
> 
> It isn't quite right, but if it works then I know the right fix.

Hey, we're getting somewhere.  It works, in that it stops the panic.
I get the "ed0: unloaded" message, and the machine doesn't panic, but
there are still some problems.  It seems that device_delete_child
is failing (I forgot to print the return code, but it is not zero),
and reinserting the card results in "ed0 already exists, using
next available unit number", and then the dreaded "driver allocation
failed" (presumably the resources have not been freed).

Putting in a different kind of card ends up with two children, so
it seems that the only part of the delete actually happens.
-- 
Christopher Masto         Senior Network Monkey      NetMonger Communications
[EMAIL PROTECTED]        [EMAIL PROTECTED]        http://www.netmonger.net

Free yourself, free your machine, free the daemon -- http://www.freebsd.org/


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

Reply via email to