>Index: hca_pnp.c
>===================================================================
>--- hca_pnp.c   (revision 1006)
>+++ hca_pnp.c   (working copy)
>@@ -1249,7 +1260,114 @@
> }
>
>
>+static VOID
>+__hca_noop( VOID *context )
>+{
>+       UNREFERENCED_PARAMETER(context);
>+}
>+
>+
> static NTSTATUS
>+__query_ci_ifc(
>+       IN                                      DEVICE_OBJECT* const           
> p_dev_obj,
>+       IN                                      IO_STACK_LOCATION* const       
> p_io_stack )
>+{

Snip...

>+       p_ifc->InterfaceHeader.InterfaceReference = __hca_noop;
>+       p_ifc->InterfaceHeader.InterfaceDereference = __hca_noop;

Why isn't this ObReferenceObject and ObDereferenceObject?  You should make sure 
that you can't go away while someone has your interface.  If you change it to 
ObReferenceObject you need to take a reference before returning the interface.

-Fab
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to