Fix bug where failed ATS service registration would leave around stale handles
[mirror/winof/.git] / ulp / ipoib / kernel / ipoib_adapter.h
index c82572c..fd78643 100644 (file)
@@ -265,12 +265,25 @@ typedef struct _ipoib_adapter
 *********/\r
 \r
 \r
-typedef struct _net_address_item\r
+typedef struct _ats_reg\r
 {\r
-       /* This must be at the start of the structure */\r
-       cl_pool_item_t          pool_item;\r
        ipoib_adapter_t         *p_adapter;\r
        ib_reg_svc_handle_t     h_reg_svc;\r
+\r
+}      ats_reg_t;\r
+/*\r
+* FIELDS\r
+*      p_adapter\r
+*              Pointer to the adapter to which this address is assigned.\r
+*\r
+*      h_reg_svc\r
+*              Service registration handle.\r
+*********/\r
+\r
+\r
+typedef struct _net_address_item\r
+{\r
+       ats_reg_t                       *p_reg;\r
        union _net_address_item_address\r
        {\r
                ULONG                   as_ulong;\r
@@ -280,22 +293,22 @@ typedef struct _net_address_item
 }      net_address_item_t;\r
 /*\r
 * FIELDS\r
-*      pool_item\r
-*              Used to pool allocation of addresses and link the allocated addresses together\r
-*\r
-*      p_adapter\r
-*              Pointer to the adapter to which this address is assigned.\r
+*      p_reg\r
+*              Pointer to the ATS registration assigned to this address.\r
 *\r
 *      address\r
-*              Union representing the IP address as an unsigned long or as an array of bytes.\r
+*              Union representing the IP address as an unsigned long or as\r
+*              an array of bytes.\r
 *\r
 *      as_ulong\r
-*              The IP address represented as an unsigned long.  Windows stores IPs this way.\r
+*              The IP address represented as an unsigned long.  Windows stores\r
+*              IPs this way.\r
 *\r
 *      as_bytes\r
 *              The IP address represented as an array of bytes.\r
 *********/\r
 \r
+\r
 ib_api_status_t\r
 ipoib_create_adapter(\r
        IN              NDIS_HANDLE                     wrapper_config_context,\r