From faef30bc1d78907d2aa475133a66721d8cb99751 Mon Sep 17 00:00:00 2001 From: tzachid Date: Tue, 28 Oct 2008 10:00:44 +0000 Subject: [PATCH] [IBAL] A fix to the pnp mechanism, don't remove the bus on query remove. git-svn-id: svn://openib.tc.cornell.edu/gen1@1703 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- branches/WOF2-0/trunk/core/bus/kernel/bus_pnp.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/branches/WOF2-0/trunk/core/bus/kernel/bus_pnp.c b/branches/WOF2-0/trunk/core/bus/kernel/bus_pnp.c index 661d5d39..c5cb4371 100644 --- a/branches/WOF2-0/trunk/core/bus/kernel/bus_pnp.c +++ b/branches/WOF2-0/trunk/core/bus/kernel/bus_pnp.c @@ -428,13 +428,6 @@ fdo_query_remove( //TODO: Fail outstanding I/O operations. - if ( p_ext->p_port_mgr && p_bfi->p_port_mgr ) - cl_obj_destroy( &p_ext->p_port_mgr->obj ); - - if ( p_ext->p_iou_mgr && p_bfi->p_iou_mgr ) - cl_obj_destroy( &p_ext->p_iou_mgr->obj ); - - *p_action = IrpSkip; /* The FDO driver must set the status even when passing down. */ p_irp->IoStatus.Status = STATUS_SUCCESS; @@ -468,11 +461,15 @@ fdo_release_resources( //TODO: Fail outstanding I/O operations. - if ( p_ext->p_port_mgr && p_bfi->p_port_mgr ) + if ( p_ext->p_port_mgr && p_bfi->p_port_mgr ) { cl_obj_destroy( &p_ext->p_port_mgr->obj ); + p_ext->p_port_mgr = NULL; + } - if ( p_ext->p_iou_mgr && p_bfi->p_iou_mgr ) + if ( p_ext->p_iou_mgr && p_bfi->p_iou_mgr ) { cl_obj_destroy( &p_ext->p_iou_mgr->obj ); + p_ext->p_iou_mgr = NULL; + } BUS_PRINT( BUS_DBG_PNP, ("Releasing BusFilter %s\n", p_bfi->whoami )); if (p_bfi) { -- 2.41.0