From: ftillier Date: Wed, 7 Dec 2005 18:46:37 +0000 (+0000) Subject: [IPoIB] Deregister ATS records during adapter reset. X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=30c508ca3df02f92925578169855677aa26ee1f4;p=~shefty%2Frdma-win.git [IPoIB] Deregister ATS records during adapter reset. Signed-off-by: Yossi Leybovich (sleybo@mellanox.co.il) git-svn-id: svn://openib.tc.cornell.edu/gen1@197 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/trunk/ulp/ipoib/kernel/ipoib_adapter.c b/trunk/ulp/ipoib/kernel/ipoib_adapter.c index f7c811c6..0fe04183 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_adapter.c +++ b/trunk/ulp/ipoib/kernel/ipoib_adapter.c @@ -768,6 +768,7 @@ __ipoib_pnp_dereg( /* Complete any pending OIDs. */ ipoib_resume_oids( p_adapter ); + ipoib_dereg_addrs( p_adapter ); if( state != IB_PNP_PORT_REMOVE ) { diff --git a/trunk/ulp/ipoib/kernel/ipoib_adapter.h b/trunk/ulp/ipoib/kernel/ipoib_adapter.h index dbd891cd..b2e73889 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_adapter.h +++ b/trunk/ulp/ipoib/kernel/ipoib_adapter.h @@ -394,4 +394,8 @@ void ipoib_reg_addrs( IN ipoib_adapter_t* const p_adapter ); +void +ipoib_dereg_addrs( + IN ipoib_adapter_t* const p_adapter ); + #endif /* _IPOIB_ADAPTER_H_ */ diff --git a/trunk/ulp/ipoib/kernel/ipoib_driver.c b/trunk/ulp/ipoib/kernel/ipoib_driver.c index 7322a3bf..8247b275 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_driver.c +++ b/trunk/ulp/ipoib/kernel/ipoib_driver.c @@ -217,10 +217,6 @@ static void __ipoib_ats_dereg_cb( IN void *context ); -static void -__ipoib_dereg_addrs( - IN ipoib_adapter_t* const p_adapter ); - static NTSTATUS __ipoib_read_registry( IN UNICODE_STRING* const p_registry_path ); @@ -1460,7 +1456,7 @@ ipoib_set_info( /* * Filter was non-zero, now zero. Deregister IP addresses. */ - __ipoib_dereg_addrs( p_adapter ); + ipoib_dereg_addrs( p_adapter ); } p_adapter->packet_filter = *(uint32_t*)info_buf; @@ -1793,7 +1789,7 @@ ipoib_resume_oids( /* * Filter was non-zero, now zero. Deregister IP addresses. */ - __ipoib_dereg_addrs( p_adapter ); + ipoib_dereg_addrs( p_adapter ); } cl_obj_unlock( &p_adapter->obj ); @@ -2236,8 +2232,8 @@ ipoib_reg_addrs( /* Object lock is held when this function is called. */ -static void -__ipoib_dereg_addrs( +void +ipoib_dereg_addrs( IN ipoib_adapter_t* const p_adapter ) { net_address_item_t *p_addr_item;