[ofw] RE: ibal pnp question

Fab Tillier ftillier at windows.microsoft.com
Thu Dec 4 11:18:01 PST 2008


>> No.  When pnp_ca_event runs for CA_ADD, a reference is taken on the
>> ci_ca object.  That reference is released after the async callback item
>> for CA_REMOVE has run.  This effectively prevents the ci_ca from being
>> destroyed until the IBAL PnP event queue is drained (at least through
> the CA_REMOVE event).
>
> An IBAL user could have processed a Windows remove device event before
> IBAL invokes its own add device event.  I think I have the right
> synchronization in WinMad to handle this, but I ended up with WinMad
> processing both IBAL and Windows PnP events.

It shouldn't because the HCA should deregister with IBAL when it gets a STOP_DEVICE, before a REMOVE_DEVICE.  In any case, the HCA won't actually go away until IBAL processes the remove CA_REMOVE PnP event.

-Fab



More information about the ofw mailing list