<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='color:#1F497D'>Applied at 2945<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Alex Naslednikov <br>
<b>Sent:</b> Tuesday, September 21, 2010 5:26 PM<br>
<b>To:</b> ofw@lists.openfabrics.org<br>
<b>Subject:</b> [ofw][Patch][IPoIB_NDIS6_CM] Spacing and tabulation, no
functionality changes<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Index:
B:/users/xalex/WoF-trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp<o:p></o:p></p>

<p class=MsoNormal>===================================================================<o:p></o:p></p>

<p class=MsoNormal>--- B:/users/xalex/WoF-trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp    
(revision 2941)<o:p></o:p></p>

<p class=MsoNormal>+++
B:/users/xalex/WoF-trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp 
(working copy)<o:p></o:p></p>

<p class=MsoNormal>@@ -6,18 +6,18 @@<o:p></o:p></p>

<p class=MsoNormal>  * This software is available to you under the
OpenIB.org BSD license<o:p></o:p></p>

<p class=MsoNormal>  * below:<o:p></o:p></p>

<p class=MsoNormal>  *<o:p></o:p></p>

<p class=MsoNormal>- *     Redistribution and use in source
and binary forms, with or<o:p></o:p></p>

<p class=MsoNormal>- *     without modification, are
permitted provided that the following<o:p></o:p></p>

<p class=MsoNormal>- *     conditions are met:<o:p></o:p></p>

<p class=MsoNormal>+ *         
   Redistribution and use in source and binary forms, with or<o:p></o:p></p>

<p class=MsoNormal>+ *         
   without modification, are permitted provided that the following<o:p></o:p></p>

<p class=MsoNormal>+ *         
   conditions are met:<o:p></o:p></p>

<p class=MsoNormal>  *<o:p></o:p></p>

<p class=MsoNormal>- *      - Redistributions of
source code must retain the above<o:p></o:p></p>

<p class=MsoNormal>- *        copyright
notice, this list of conditions and the following<o:p></o:p></p>

<p class=MsoNormal>- *        disclaimer.<o:p></o:p></p>

<p class=MsoNormal>+
*                         
- Redistributions of source code must retain the above<o:p></o:p></p>

<p class=MsoNormal>+
*                         
  copyright notice, this list of conditions and the following<o:p></o:p></p>

<p class=MsoNormal>+
*                         
  disclaimer.<o:p></o:p></p>

<p class=MsoNormal>  *<o:p></o:p></p>

<p class=MsoNormal>- *      - Redistributions in
binary form must reproduce the above<o:p></o:p></p>

<p class=MsoNormal>- *        copyright
notice, this list of conditions and the following<o:p></o:p></p>

<p class=MsoNormal>- *        disclaimer in
the documentation and/or other materials<o:p></o:p></p>

<p class=MsoNormal>- *        provided with
the distribution.<o:p></o:p></p>

<p class=MsoNormal>+
*                         
- Redistributions in binary form must reproduce the above<o:p></o:p></p>

<p class=MsoNormal>+
*                         
  copyright notice, this list of conditions and the following<o:p></o:p></p>

<p class=MsoNormal>+
*                         
  disclaimer in the documentation and/or other materials<o:p></o:p></p>

<p class=MsoNormal>+ *                         
  provided with the distribution.<o:p></o:p></p>

<p class=MsoNormal>  *<o:p></o:p></p>

<p class=MsoNormal>  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT
WARRANTY OF ANY KIND,<o:p></o:p></p>

<p class=MsoNormal>  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE WARRANTIES OF<o:p></o:p></p>

<p class=MsoNormal>@@ -68,98 +68,98 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static const NDIS_OID SUPPORTED_OIDS[] =<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_SUPPORTED_LIST,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_HARDWARE_STATUS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MEDIA_SUPPORTED,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MEDIA_IN_USE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_FRAME_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_TRANSMIT_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_TRANSMIT_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_VENDOR_ID,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_VENDOR_DESCRIPTION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_VENDOR_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_CURRENT_PACKET_FILTER,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_CURRENT_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_TOTAL_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAC_OPTIONS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_SEND_PACKETS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_XMIT_OK,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RCV_OK,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_XMIT_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RCV_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RCV_NO_BUFFER,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_GEN_RCV_CRC_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_GEN_TRANSMIT_QUEUE_LENGTH,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_PERMANENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_CURRENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_MULTICAST_LIST,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_MAXIMUM_LIST_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_RCV_ERROR_ALIGNMENT,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_XMIT_ONE_COLLISION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_XMIT_MORE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_DEFERRED,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_MAX_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_RCV_OVERRUN,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_UNDERRUN,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_HEARTBEAT_FAILURE,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_TIMES_CRS_LOST,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_LATE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_SUPPORTED_LIST,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_HARDWARE_STATUS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MEDIA_SUPPORTED,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MEDIA_IN_USE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MAXIMUM_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MAXIMUM_FRAME_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_TRANSMIT_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RECEIVE_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_TRANSMIT_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RECEIVE_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_VENDOR_ID,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_VENDOR_DESCRIPTION,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_VENDOR_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_CURRENT_PACKET_FILTER,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_CURRENT_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MAXIMUM_TOTAL_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MAC_OPTIONS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_MAXIMUM_SEND_PACKETS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_XMIT_OK,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RCV_OK,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_XMIT_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RCV_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RCV_NO_BUFFER,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_GEN_RCV_CRC_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_GEN_TRANSMIT_QUEUE_LENGTH,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_PERMANENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_CURRENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_MULTICAST_LIST,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_MAXIMUM_LIST_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_RCV_ERROR_ALIGNMENT,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_XMIT_ONE_COLLISION,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_802_3_XMIT_MORE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_XMIT_DEFERRED,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_XMIT_MAX_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_RCV_OVERRUN,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_XMIT_UNDERRUN,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_XMIT_HEARTBEAT_FAILURE,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_XMIT_TIMES_CRS_LOST,<o:p></o:p></p>

<p class=MsoNormal>+            
//OID_802_3_XMIT_LATE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> #if !BUILD_W2K<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_PHYSICAL_MEDIUM,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_PHYSICAL_MEDIUM,<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    OID_TCP_TASK_OFFLOAD,<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
OID_TCP_TASK_OFFLOAD,<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> /* powermanagement */<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_SET_POWER,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_QUERY_POWER,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_ADD_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_REMOVE_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_ENABLE_WAKE_UP,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_PNP_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_PNP_SET_POWER,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_PNP_QUERY_POWER,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_PNP_ADD_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_PNP_REMOVE_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_PNP_ENABLE_WAKE_UP,<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal> /* custom oid WMI support */<o:p></o:p></p>

<p class=MsoNormal>-    OID_CUSTOM_PERF_COUNTERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_CUSTOM_STRING,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_CUSTOM_PERF_COUNTERS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_CUSTOM_STRING,<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_SCALE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_SCALE_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RECEIVE_SCALE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_RECEIVE_SCALE_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>    <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //<o:p></o:p></p>

<p class=MsoNormal> // new and required for NDIS 6 miniports<o:p></o:p></p>

<p class=MsoNormal> //<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_LINK_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_INTERRUPT_MODERATION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_STATISTICS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_LINK_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_INTERRUPT_MODERATION,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_STATISTICS,<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /* Offload */<o:p></o:p></p>

<p class=MsoNormal>-    OID_TCP_OFFLOAD_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal>-    OID_TCP_OFFLOAD_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>-    OID_OFFLOAD_ENCAPSULATION,<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
OID_TCP_OFFLOAD_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_TCP_OFFLOAD_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_OFFLOAD_ENCAPSULATION,<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /* Header - Data seperation */<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_HD_SPLIT_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_HD_SPLIT_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_HD_SPLIT_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_GEN_HD_SPLIT_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /* VLAN */<o:p></o:p></p>

<p class=MsoNormal>-    OID_ADD_VALN_ID,<o:p></o:p></p>

<p class=MsoNormal>-    OID_DELETE_VLAN_ID,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_ADD_VALN_ID,<o:p></o:p></p>

<p class=MsoNormal>+            
OID_DELETE_VLAN_ID,<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /* Set MAC */<o:p></o:p></p>

<p class=MsoNormal>-    OID_SET_MAC_ADDRESS<o:p></o:p></p>

<p class=MsoNormal>+            
OID_SET_MAC_ADDRESS<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> };<o:p></o:p></p>

<p class=MsoNormal>@@ -185,9 +185,9 @@<o:p></o:p></p>

<p class=MsoNormal> ULONG                                               
g_ipoib_send_SW           =
0;<o:p></o:p></p>

<p class=MsoNormal> ULONG                                               
g_ipoib_send_SG           
= 0;<o:p></o:p></p>

<p class=MsoNormal> ULONG                                               
g_ipoib_send_SW_in_loop = 0;<o:p></o:p></p>

<p class=MsoNormal>-ULONG
                                             
g_ipoib_send_SG_pending = 0;<o:p></o:p></p>

<p class=MsoNormal>-ULONG
                                             
g_ipoib_send_SG_real = 0;<o:p></o:p></p>

<p class=MsoNormal>-ULONG
                                             
g_ipoib_send_SG_failed = 0;<o:p></o:p></p>

<p class=MsoNormal>+ULONG                                             
g_ipoib_send_SG_pending = 0;<o:p></o:p></p>

<p class=MsoNormal>+ULONG                                             
g_ipoib_send_SG_real = 0;<o:p></o:p></p>

<p class=MsoNormal>+ULONG                                             
g_ipoib_send_SG_failed = 0;<o:p></o:p></p>

<p class=MsoNormal> ULONG                                               
g_ipoib_send_reset = 0;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> ULONG                                               
g_NBL = 0;<o:p></o:p></p>

<p class=MsoNormal>@@ -196,33 +196,33 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> typedef struct _IPOIB_REG_ENTRY<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-             
NDIS_STRING
RegName;               
// variable name text<o:p></o:p></p>

<p class=MsoNormal>-             
BOOLEAN    
bRequired;             
// 1 -> required, 0 -> optional<o:p></o:p></p>

<p class=MsoNormal>-             
UINT        FieldOffset;           
// offset in parent struct<o:p></o:p></p>

<p class=MsoNormal>-             
UINT       
FieldSize;             
// size (in bytes) of the field<o:p></o:p></p>

<p class=MsoNormal>-             
UINT       
Default;               
// default value to use<o:p></o:p></p>

<p class=MsoNormal>-             
UINT       
Min;                   
// minimum value allowed<o:p></o:p></p>

<p class=MsoNormal>-             
UINT       
Max;                   
// maximum value allowed<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STRING
RegName;                                                             
// variable name text<o:p></o:p></p>

<p class=MsoNormal>+            
BOOLEAN            bRequired;                                                        
// 1 -> required, 0 -> optional<o:p></o:p></p>

<p class=MsoNormal>+            
UINT                     
FieldOffset;                                       
// offset in parent struct<o:p></o:p></p>

<p class=MsoNormal>+            
UINT                     
FieldSize;                                                            
// size (in bytes) of the field<o:p></o:p></p>

<p class=MsoNormal>+            
UINT                     
Default;                                                               
// default value to use<o:p></o:p></p>

<p class=MsoNormal>+            
UINT                     
Min;                                                                      
// minimum value allowed<o:p></o:p></p>

<p class=MsoNormal>+            
UINT                     
Max;                                                                     
// maximum value allowed<o:p></o:p></p>

<p class=MsoNormal> } IPOIB_REG_ENTRY, *PIPOIB_REG_ENTRY;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> IPOIB_REG_ENTRY HCARegTable[] = {<o:p></o:p></p>

<p class=MsoNormal>-             
// reg value
name             If
Required  Offset in parentr
struct            
Field
size                 
Default        
Min     Max<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("GUIDMask"),        
0,
IPOIB_OFFSET(guid_mask),            
IPOIB_SIZE(guid_mask),          0, 
        0,   
MAX_GUID_MAX},<o:p></o:p></p>

<p class=MsoNormal>+            
// reg value
name                                           
  If Required  Offset in parentr struct
                                     
Field
size             
                                                               
Default
                               
Min        Max<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("GUIDMask"),
                 
0, IPOIB_OFFSET(guid_mask),
                  
               
IPOIB_SIZE(guid_mask),                                              
0,                                           
0,             
MAX_GUID_MAX},<o:p></o:p></p>

<p class=MsoNormal>               
/* GUIDMask should be the first element */<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("RqDepth"),         
1,
IPOIB_OFFSET(rq_depth),             
IPOIB_SIZE(rq_depth),          
512,        128,    1024},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("RqLowWatermark"),   0,
IPOIB_OFFSET(rq_low_watermark),      IPOIB_SIZE(rq_low_watermark),  
4,         
2,      8},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("SqDepth"),         
1, IPOIB_OFFSET(sq_depth),             
IPOIB_SIZE(sq_depth),          
512,        128,    1024},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("SendChksum"),      
1, IPOIB_OFFSET(send_chksum_offload),  
IPOIB_SIZE(send_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("RecvChksum"),      
1, IPOIB_OFFSET(recv_chksum_offload),  
IPOIB_SIZE(recv_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("SaTimeout"),       
1,
IPOIB_OFFSET(sa_timeout),           
IPOIB_SIZE(sa_timeout),        
1000,       250,    UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("SaRetries"),       
1, IPOIB_OFFSET(sa_retry_cnt),         
IPOIB_SIZE(sa_retry_cnt),      
10,        
1,      UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("RecvRatio"),       
1, IPOIB_OFFSET(recv_pool_ratio),      
IPOIB_SIZE(recv_pool_ratio),   
1,         
1,      10},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("PayloadMtu"),      
1,
IPOIB_OFFSET(payload_mtu),          
IPOIB_SIZE(payload_mtu),       
2044,       512,   MAX_UD_PAYLOAD_MTU},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("lso"),             
0, IPOIB_OFFSET(lso),                  
IPOIB_SIZE(lso),               
0,         
0,      1},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("MCLeaveRescan"),    1,
IPOIB_OFFSET(mc_leave_rescan),      
IPOIB_SIZE(mc_leave_rescan),   
260,        1,    3600},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("BCJoinRetry"),     1, IPOIB_OFFSET(bc_join_retry),                         
    IPOIB_SIZE(bc_join_retry),     
50,         0,    1000},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("CmEnabled"),       
0,
IPOIB_OFFSET(cm_enabled),           
IPOIB_SIZE(cm_enabled),        
FALSE,     FALSE, TRUE},<o:p></o:p></p>

<p class=MsoNormal>-             
{NDIS_STRING_CONST("CmPayloadMtu"),     1,
IPOIB_OFFSET(cm_payload_mtu),       
IPOIB_SIZE(cm_payload_mtu),     MAX_CM_PAYLOAD_MTU, 512,
MAX_CM_PAYLOAD_MTU}<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("RqDepth"),                                      
1,
IPOIB_OFFSET(rq_depth),                                     
               
IPOIB_SIZE(rq_depth),                                 
512,                       
128,        1024},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("RqLowWatermark"),    0,
IPOIB_OFFSET(rq_low_watermark), 
               
IPOIB_SIZE(rq_low_watermark),             
4,                                           
2,                           
8},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("SqDepth"),                                      
1, IPOIB_OFFSET(sq_depth),                                     
               
IPOIB_SIZE(sq_depth),                                
512,                       
128,        1024},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("SendChksum"),                             
1, IPOIB_OFFSET(send_chksum_offload),               
IPOIB_SIZE(send_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("RecvChksum"),                              
1,
IPOIB_OFFSET(recv_chksum_offload),               
IPOIB_SIZE(recv_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("SaTimeout"),                  
1, IPOIB_OFFSET(sa_timeout),                 
               
IPOIB_SIZE(sa_timeout),                             
1000,                    
250,        UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("SaRetries"),                     
1, IPOIB_OFFSET(sa_retry_cnt),                               
               
IPOIB_SIZE(sa_retry_cnt),                          
10,                         
1,                           
UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("RecvRatio"),                    
1, IPOIB_OFFSET(recv_pool_ratio),        
               
IPOIB_SIZE(recv_pool_ratio),    
1,                                           
1,                           
10},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("PayloadMtu"),                               
1,
IPOIB_OFFSET(payload_mtu),                              
               
IPOIB_SIZE(payload_mtu),                         
2044,                    
512,   MAX_UD_PAYLOAD_MTU},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("lso"),                                                  
0,
IPOIB_OFFSET(lso),                                                   
               
IPOIB_SIZE(lso),                                                              
0,                                           
0,                           
1},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("MCLeaveRescan"),       
1, IPOIB_OFFSET(mc_leave_rescan),     
               
IPOIB_SIZE(mc_leave_rescan), 260,                       
1,             
3600},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("BCJoinRetry"),                
1, IPOIB_OFFSET(bc_join_retry),                             
               
IPOIB_SIZE(bc_join_retry),                        
50,                         
0,             
1000},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("CmEnabled"),                 
0, IPOIB_OFFSET(cm_enabled),                               
               
IPOIB_SIZE(cm_enabled),
                          
FALSE,      FALSE, TRUE},<o:p></o:p></p>

<p class=MsoNormal>+            
{NDIS_STRING_CONST("CmPayloadMtu"),
         1,
IPOIB_OFFSET(cm_payload_mtu),                     
IPOIB_SIZE(cm_payload_mtu),
               
MAX_CM_PAYLOAD_MTU, 512, MAX_CM_PAYLOAD_MTU}<o:p></o:p></p>

<p class=MsoNormal> }; <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> #define IPOIB_NUM_REG_PARAMS (sizeof (HCARegTable) /
sizeof(IPOIB_REG_ENTRY))<o:p></o:p></p>

<p class=MsoNormal>@@ -235,7 +235,7 @@<o:p></o:p></p>

<p class=MsoNormal>               
ULONG eventLogMsgId)<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-#define cMaxStrLen  40<o:p></o:p></p>

<p class=MsoNormal>+#define cMaxStrLen    40<o:p></o:p></p>

<p class=MsoNormal> #define cArrLen  3<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
PWCHAR logMsgArray[cArrLen]; <o:p></o:p></p>

<p class=MsoNormal>@@ -279,8 +279,8 @@<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_initialize_ex(<o:p></o:p></p>

<p class=MsoNormal>               
IN                                                          
NDIS_HANDLE                                  
h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    IN
                                                    
NDIS_HANDLE 
                
config_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN
PNDIS_MINIPORT_INIT_PARAMETERS      
MiniportInitParameters);<o:p></o:p></p>

<p class=MsoNormal>+            
IN                                                          
NDIS_HANDLE                  
config_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN
PNDIS_MINIPORT_INIT_PARAMETERS           
MiniportInitParameters);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> BOOLEAN<o:p></o:p></p>

<p class=MsoNormal> ipoib_check_for_hang(<o:p></o:p></p>

<p class=MsoNormal>@@ -288,34 +288,34 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal> ipoib_halt_ex(<o:p></o:p></p>

<p class=MsoNormal>-             
IN NDIS_HANDLE  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-             
IN 
                                        
NDIS_HALT_ACTION           
HaltAction);<o:p></o:p></p>

<p class=MsoNormal>+            
IN
NDIS_HANDLE            
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN                                                          
NDIS_HALT_ACTION                                     
HaltAction);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_query_info(<o:p></o:p></p>

<p class=MsoNormal>-    IN      NDIS_HANDLE        
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT
PNDIS_OID_REQUEST   pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+            
IN                          
NDIS_HANDLE                  
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN           OUT
PNDIS_OID_REQUEST         
pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_reset(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE     adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    OUT
PBOOLEAN        p_addr_reset);<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
OUT
PBOOLEAN                              
p_addr_reset);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_set_info(<o:p></o:p></p>

<p class=MsoNormal>-    IN     
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT
PNDIS_OID_REQUEST   pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+            
IN                          
NDIS_HANDLE                  
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN           OUT
PNDIS_OID_REQUEST         
pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //NDIS60<o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal> ipoib_send_net_buffer_list(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
PNET_BUFFER_LIST    net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_PORT_NUMBER    port_num,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
ULONG              
send_flags);<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                 
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNET_BUFFER_LIST        net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
NDIS_PORT_NUMBER   port_num,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
ULONG                                                
send_flags);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal> ipoib_pnp_notify(<o:p></o:p></p>

<p class=MsoNormal>@@ -324,7 +324,7 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> VOID<o:p></o:p></p>

<p class=MsoNormal> ipoib_shutdown_ex(<o:p></o:p></p>

<p class=MsoNormal>-             
IN NDIS_HANDLE  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN
NDIS_HANDLE            
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>               
IN NDIS_SHUTDOWN_ACTION  shutdown_action);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -369,28 +369,28 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_set_options(<o:p></o:p></p>

<p class=MsoNormal>-    IN NDIS_HANDLE 
NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>-    IN NDIS_HANDLE 
MiniportDriverContext);<o:p></o:p></p>

<p class=MsoNormal>+            
IN
NDIS_HANDLE            
NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>+            
IN NDIS_HANDLE            
MiniportDriverContext);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_oid_handler(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_OID_REQUEST  
pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                 
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNDIS_OID_REQUEST    pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static void<o:p></o:p></p>

<p class=MsoNormal> ipoib_cancel_oid_request(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE           
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
PVOID                 
requestId);<o:p></o:p></p>

<p class=MsoNormal>-        <o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                 
   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PVOID                                                  
   requestId);<o:p></o:p></p>

<p class=MsoNormal>+                            
<o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS <o:p></o:p></p>

<p class=MsoNormal> ipoib_pause(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_MINIPORT_PAUSE_PARAMETERS    
pause_parameters);<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                                                                                 
adapter_context,           
<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNDIS_MINIPORT_PAUSE_PARAMETERS
           
pause_parameters);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS <o:p></o:p></p>

<p class=MsoNormal> ipoib_restart(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN 
PNDIS_MINIPORT_RESTART_PARAMETERS   restart_parameters);<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                                                                                 
adapter_context,           
<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNDIS_MINIPORT_RESTART_PARAMETERS        
restart_parameters);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -439,16 +439,16 @@<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_st_init();<o:p></o:p></p>

<p class=MsoNormal>               
g_stat.drv.obj = p_drv_obj;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&characteristics,
sizeof(characteristics));<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&characteristics, sizeof(characteristics));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    characteristics.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;<o:p></o:p></p>

<p class=MsoNormal>-    characteristics.Header.Size =
NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal>-    characteristics.Header.Revision =
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.Header.Size =
NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.Header.Revision =
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
characteristics.MajorNdisVersion                            
= MAJOR_NDIS_VERSION;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.MinorNdisVersion                            
= MINOR_NDIS_VERSION;<o:p></o:p></p>

<p class=MsoNormal>-   
characteristics.MajorDriverVersion                   
= MAJOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal>-   
characteristics.MinorDriverVersion                   
= MINOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.MajorDriverVersion                         
= MAJOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.MinorDriverVersion                         
= MINOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
characteristics.CheckForHangHandlerEx                               
= ipoib_check_for_hang;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.HaltHandlerEx                                                    
= ipoib_halt_ex;<o:p></o:p></p>

<p class=MsoNormal>@@ -460,9 +460,9 @@<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.ReturnNetBufferListsHandler      
= ipoib_return_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.SendNetBufferListsHandler         
= ipoib_send_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
characteristics.SetOptionsHandler
                                         
= ipoib_set_options;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.SetOptionsHandler                                          
= ipoib_set_options;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.PauseHandler                                                     
= ipoib_pause;<o:p></o:p></p>

<p class=MsoNormal>-             
characteristics.RestartHandler
                                                 
= ipoib_restart;<o:p></o:p></p>

<p class=MsoNormal>+            
characteristics.RestartHandler                                                  
= ipoib_restart;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.UnloadHandler                                                  
= ipoib_unload;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.CancelSendHandler                                         
= ipoib_cancel_xmit;<o:p></o:p></p>

<p class=MsoNormal>               
characteristics.ShutdownHandlerEx                                       
= ipoib_shutdown_ex;<o:p></o:p></p>

<p class=MsoNormal>@@ -482,17 +482,17 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_set_options(<o:p></o:p></p>

<p class=MsoNormal>-    IN NDIS_HANDLE 
NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>-    IN NDIS_HANDLE 
MiniportDriverContext<o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
IN
NDIS_HANDLE            
NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>+            
IN
NDIS_HANDLE            
MiniportDriverContext<o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_ENTER( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-   
UNREFERENCED_PARAMETER(NdisMiniportDriverHandle);<o:p></o:p></p>

<p class=MsoNormal>-   
UNREFERENCED_PARAMETER(MiniportDriverContext);<o:p></o:p></p>

<p class=MsoNormal>+            
UNREFERENCED_PARAMETER(NdisMiniportDriverHandle);<o:p></o:p></p>

<p class=MsoNormal>+            
UNREFERENCED_PARAMETER(MiniportDriverContext);<o:p></o:p></p>

<p class=MsoNormal>    <o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_EXIT( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal>-    return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+            
return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NTSTATUS<o:p></o:p></p>

<p class=MsoNormal>@@ -593,7 +593,7 @@<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
NDIS_STATUS                                                                                   
status;<o:p></o:p></p>

<p class=MsoNormal>               
NDIS_HANDLE                                                                                  
h_config;<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_CONFIGURATION_OBJECT                       
config_obj;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_CONFIGURATION_OBJECT                             
config_obj;<o:p></o:p></p>

<p class=MsoNormal>               
NDIS_CONFIGURATION_PARAMETER    *p_param;<o:p></o:p></p>

<p class=MsoNormal>               
UINT                                                                                                     
value;<o:p></o:p></p>

<p class=MsoNormal>               
PIPOIB_REG_ENTRY                                                      
pRegEntry;<o:p></o:p></p>

<p class=MsoNormal>@@ -604,11 +604,11 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_ENTER( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Header.Type =
NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT;<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Header.Revision =
NDIS_CONFIGURATION_OBJECT_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Header.Size = sizeof(NDIS_CONFIGURATION_OBJECT);<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.NdisHandle =
p_adapter->h_adapter;<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Flags = 0;<o:p></o:p></p>

<p class=MsoNormal>+            
config_obj.Header.Type = NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT;<o:p></o:p></p>

<p class=MsoNormal>+            
config_obj.Header.Revision = NDIS_CONFIGURATION_OBJECT_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
config_obj.Header.Size = sizeof(NDIS_CONFIGURATION_OBJECT);<o:p></o:p></p>

<p class=MsoNormal>+            
config_obj.NdisHandle = p_adapter->h_adapter;<o:p></o:p></p>

<p class=MsoNormal>+            
config_obj.Flags = 0;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
status = NdisOpenConfigurationEx( &config_obj, &h_config);<o:p></o:p></p>

<p class=MsoNormal>               
if( status != NDIS_STATUS_SUCCESS )<o:p></o:p></p>

<p class=MsoNormal>@@ -833,7 +833,7 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //! Initialization function called for each IOC
discovered<o:p></o:p></p>

<p class=MsoNormal>-/*  The MiniportInitialize function is a required
function that sets up a<o:p></o:p></p>

<p class=MsoNormal>+/*         The
MiniportInitialize function is a required function that sets up a<o:p></o:p></p>

<p class=MsoNormal> NIC (or virtual NIC) for network I/O operations,
claims all hardware<o:p></o:p></p>

<p class=MsoNormal> resources necessary to the NIC in the registry, and
allocates resources<o:p></o:p></p>

<p class=MsoNormal> the driver needs to carry out network I/O operations.<o:p></o:p></p>

<p class=MsoNormal>@@ -861,110 +861,110 @@<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetDeviceRegistrationAttributes(<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_HANDLE            
h_adapter<o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_HANDLE   h_adapter<o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES atr;<o:p></o:p></p>

<p class=MsoNormal>-    NTSTATUS Status;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES atr;<o:p></o:p></p>

<p class=MsoNormal>+            
NTSTATUS Status;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&atr,
sizeof(NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&atr, sizeof(NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    // setting registration attributes<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Revision =
NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
// setting registration attributes<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Header.Revision =
NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    atr.MiniportAddDeviceContext =
(NDIS_HANDLE)p_adapter;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Flags = 0; <o:p></o:p></p>

<p class=MsoNormal>+            
atr.MiniportAddDeviceContext = (NDIS_HANDLE)p_adapter;<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Flags = 0; <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    Status =
NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-                 
  (PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

<p class=MsoNormal>+            
Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>+                                                                            
(PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    return Status;<o:p></o:p></p>

<p class=MsoNormal>+            
return Status;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //NDIS 6.1<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetHardwareAssistAttributes(<o:p></o:p></p>

<p class=MsoNormal>-    ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_HANDLE            
h_adapter<o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_HANDLE   h_adapter<o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES atr;<o:p></o:p></p>

<p class=MsoNormal>-    NTSTATUS Status;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES atr;<o:p></o:p></p>

<p class=MsoNormal>+            
NTSTATUS Status;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&atr, sizeof(NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&atr,
sizeof(NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    // setting registration attributes<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Revision =
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
// setting registration attributes<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Header.Revision =
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NDIS_HD_SPLIT_ATTRIBUTES nhsa;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&nhsa, sizeof(nhsa));<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_HD_SPLIT_ATTRIBUTES nhsa;<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&nhsa, sizeof(nhsa));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    nhsa.Header.Type =
NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.Header.Revision =
NDIS_OFFLOAD_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.Header.Size =
NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.Header.Type = NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.Header.Revision = NDIS_OFFLOAD_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.Header.Size = NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    // BUGBUG: We are just cheating here ...<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.HardwareCapabilities = NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal>+            
// BUGBUG: We are just cheating here ...<o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.HardwareCapabilities = NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal>-    ... Only supported on B0<o:p></o:p></p>

<p class=MsoNormal>+            
... Only supported on B0<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-                                
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS |<o:p></o:p></p>

<p class=MsoNormal>-                                
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS |<o:p></o:p></p>

<p class=MsoNormal>-                                
NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS;<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                            
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                            
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                            
NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS;<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    // The bellow should be left zero<o:p></o:p></p>

<p class=MsoNormal>-    if (pPort->Config.HeaderDataSplit) {<o:p></o:p></p>

<p class=MsoNormal>-       
nhsa.CurrentCapabilities = NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal>-    } else {<o:p></o:p></p>

<p class=MsoNormal>-       
nhsa.CurrentCapabilities = 0;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
// The bellow should be left zero<o:p></o:p></p>

<p class=MsoNormal>+            
if (pPort->Config.HeaderDataSplit) {<o:p></o:p></p>

<p class=MsoNormal>+                            
nhsa.CurrentCapabilities = NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal>+            
} else {<o:p></o:p></p>

<p class=MsoNormal>+                            
nhsa.CurrentCapabilities = 0;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    nhsa.HDSplitFlags = 0;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.BackfillSize = 0;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.MaxHeaderSize =
0;    <o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.HDSplitFlags = 0;<o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.BackfillSize = 0;<o:p></o:p></p>

<p class=MsoNormal>+            
nhsa.MaxHeaderSize = 0;    <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    atr.HDSplitAttributes = &nhsa;<o:p></o:p></p>

<p class=MsoNormal>+            
atr.HDSplitAttributes = &nhsa;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    Status =
NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-                   
(PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

<p class=MsoNormal>+            
Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>+                                                                            
(PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    if (nhsa.HDSplitFlags &
NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT) {<o:p></o:p></p>

<p class=MsoNormal>-       
ASSERT(pPort->Config.HeaderDataSplit == TRUE);<o:p></o:p></p>

<p class=MsoNormal>-        pPort->Config.HeaderDataSplit
= TRUE;<o:p></o:p></p>

<p class=MsoNormal>-    } <o:p></o:p></p>

<p class=MsoNormal>-    else {<o:p></o:p></p>

<p class=MsoNormal>-       
ASSERT(pPort->Config.HeaderDataSplit == FALSE);<o:p></o:p></p>

<p class=MsoNormal>-   
    pPort->Config.HeaderDataSplit = FALSE;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
if (nhsa.HDSplitFlags & NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT) {<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(pPort->Config.HeaderDataSplit == TRUE);<o:p></o:p></p>

<p class=MsoNormal>+                            
pPort->Config.HeaderDataSplit = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
} <o:p></o:p></p>

<p class=MsoNormal>+            
else {<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(pPort->Config.HeaderDataSplit == FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                            
pPort->Config.HeaderDataSplit = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    return Status;<o:p></o:p></p>

<p class=MsoNormal>+            
return Status;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    the routine sets attributes that are
associated with a miniport adapter.<o:p></o:p></p>

<p class=MsoNormal>+            
the routine sets attributes that are associated with a miniport adapter.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+            
pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Note:<o:p></o:p></p>

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetAdapterRegistrationAttributes(<o:p></o:p></p>

<p class=MsoNormal>@@ -986,7 +986,7 @@<o:p></o:p></p>

<p class=MsoNormal>               
atr.MiniportAdapterContext = (NDIS_HANDLE)p_adapter; <o:p></o:p></p>

<p class=MsoNormal>               
atr.AttributeFlags = NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER;<o:p></o:p></p>

<p class=MsoNormal>               
atr.CheckForHangTimeInSeconds = 10;<o:p></o:p></p>

<p class=MsoNormal>-             
atr.InterfaceType = NdisInterfacePci ;   // ???? UH<o:p></o:p></p>

<p class=MsoNormal>+            
atr.InterfaceType = NdisInterfacePci ;    // ???? UH<o:p></o:p></p>

<p class=MsoNormal>               
//TODO NDIS60 PNP or PCI ?<o:p></o:p></p>

<p class=MsoNormal>               
//RegistrationAttributes.InterfaceType = NdisInterfacePNPBus;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -999,29 +999,29 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    the routine sets generic attributes that
are associated with a miniport <o:p></o:p></p>

<p class=MsoNormal>-    adapter.<o:p></o:p></p>

<p class=MsoNormal>+            
the routine sets generic attributes that are associated with a miniport <o:p></o:p></p>

<p class=MsoNormal>+            
adapter.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+            
pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Note:<o:p></o:p></p>

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetGenericAttributes(<o:p></o:p></p>

<p class=MsoNormal>-    ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_HANDLE            
h_adapter<o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_HANDLE   h_adapter<o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS Status;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS Status;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES
gat;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&gat,
sizeof(NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES gat;<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&gat, sizeof(NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
/* set up generic attributes */<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -1029,11 +1029,11 @@<o:p></o:p></p>

<p class=MsoNormal>               
gat.Header.Revision = NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>               
gat.Header.Size = sizeof(NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
gat.MediaType =
                            
NdisMedium802_3;    <o:p></o:p></p>

<p class=MsoNormal>-             
gat.MaxXmitLinkSpeed =
           
IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>-             
gat.MaxRcvLinkSpeed =
              
IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>+            
gat.MediaType =
                            
NdisMedium802_3;        <o:p></o:p></p>

<p class=MsoNormal>+            
gat.MaxXmitLinkSpeed
=            
IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>+            
gat.MaxRcvLinkSpeed
=               
IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>               
gat.XmitLinkSpeed
=                     
NDIS_LINK_SPEED_UNKNOWN;<o:p></o:p></p>

<p class=MsoNormal>-             
gat.RcvLinkSpeed =         NDIS_LINK_SPEED_UNKNOWN;<o:p></o:p></p>

<p class=MsoNormal>+            
gat.RcvLinkSpeed
=                        
NDIS_LINK_SPEED_UNKNOWN;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
gat.MediaConnectState = MediaConnectStateConnected; //TODO NDIS60 Check the
current state<o:p></o:p></p>

<p class=MsoNormal>               
gat.MediaDuplexState = MediaDuplexStateFull;<o:p></o:p></p>

<p class=MsoNormal>@@ -1051,7 +1051,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                                                               
// DT: Enable for Header Data Split WHQL<o:p></o:p></p>

<p class=MsoNormal>                                                                               
// |  NDIS_MAC_OPTION_8021Q_VLAN;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
gat.SupportedPacketFilters =     NDIS_PACKET_TYPE_DIRECTED |<o:p></o:p></p>

<p class=MsoNormal>+            
gat.SupportedPacketFilters =     NDIS_PACKET_TYPE_DIRECTED
|<o:p></o:p></p>

<p class=MsoNormal>                                                                                                                                               
NDIS_PACKET_TYPE_MULTICAST |<o:p></o:p></p>

<p class=MsoNormal>                                                                                                                               
               
//NDIS_PACKET_TYPE_ALL_MULTICAST |<o:p></o:p></p>

<p class=MsoNormal>                                                                                                                                               
NDIS_PACKET_TYPE_BROADCAST;<o:p></o:p></p>

<p class=MsoNormal>@@ -1085,57 +1085,57 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
//TODO NDIS60 is it possible to reduce unsupported statistics<o:p></o:p></p>

<p class=MsoNormal>               
gat.SupportedStatistics = <o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_XMIT_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_RCV_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_XMIT_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_RCV_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_RCV_CRC_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_RCV_NO_BUFFER_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-             
                       
NDIS_STATISTICS_TRANSMIT_QUEUE_LENGTH_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_XMIT_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_RCV_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_XMIT_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_RCV_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_RCV_CRC_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_RCV_NO_BUFFER_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATISTICS_TRANSMIT_QUEUE_LENGTH_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
//SupportedStatistics = NDIS_STATISTICS_XMIT_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>                                                                                                               
// NDIS_STATISTICS_GEN_STATISTICS_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    // Set power management capabilities<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    gat.PowerManagementCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
// Set power management capabilities<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
gat.PowerManagementCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_PNP_CAPABILITIES
PowerManagementCapabilities;<o:p></o:p></p>

<p class=MsoNormal>-   
NdisZeroMemory(&PowerManagementCapabilities, sizeof(NDIS_PNP_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>-    if (MPIsPoMgmtSupported(pPort))<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-       
MPFillPoMgmtCaps(pPort, &PowerManagementCapabilities, &Status,
&unUsed);<o:p></o:p></p>

<p class=MsoNormal>-       
ASSERT(NT_SUCCESS(Status)); <o:p></o:p></p>

<p class=MsoNormal>-       
gat.PowerManagementCapabilities = &PowerManagementCapabilities;<o:p></o:p></p>

<p class=MsoNormal>-    } <o:p></o:p></p>

<p class=MsoNormal>-    else<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        <o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_PNP_CAPABILITIES PowerManagementCapabilities;<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&PowerManagementCapabilities,
sizeof(NDIS_PNP_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>+            
if (MPIsPoMgmtSupported(pPort))<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
MPFillPoMgmtCaps(pPort, &PowerManagementCapabilities, &Status,
&unUsed);<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(NT_SUCCESS(Status)); <o:p></o:p></p>

<p class=MsoNormal>+                            
gat.PowerManagementCapabilities = &PowerManagementCapabilities;<o:p></o:p></p>

<p class=MsoNormal>+            
} <o:p></o:p></p>

<p class=MsoNormal>+            
else<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    // Set RSS attributes<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    gat.RecvScaleCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
// Set RSS attributes<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
gat.RecvScaleCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_RECEIVE_SCALE_CAPABILITIES
RssCapabilities;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&RssCapabilities,
sizeof(PNDIS_RECEIVE_SCALE_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>-    Status = MPFillRssCapabilities(pPort,
&RssCapabilities, &unUsed);<o:p></o:p></p>

<p class=MsoNormal>-    if (NT_SUCCESS(Status)) <o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-       
gat.RecvScaleCapabilities = &RssCapabilities;<o:p></o:p></p>

<p class=MsoNormal>-    } <o:p></o:p></p>

<p class=MsoNormal>-    else<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        //<o:p></o:p></p>

<p class=MsoNormal>-        // do not fail
the call because of failure to get PM caps<o:p></o:p></p>

<p class=MsoNormal>-        //<o:p></o:p></p>

<p class=MsoNormal>-        Status =
NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>-        gat.RecvScaleCapabilities
= NULL;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_RECEIVE_SCALE_CAPABILITIES RssCapabilities;<o:p></o:p></p>

<p class=MsoNormal>+            
NdisZeroMemory(&RssCapabilities, sizeof(PNDIS_RECEIVE_SCALE_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>+            
Status = MPFillRssCapabilities(pPort, &RssCapabilities, &unUsed);<o:p></o:p></p>

<p class=MsoNormal>+            
if (NT_SUCCESS(Status)) <o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
gat.RecvScaleCapabilities = &RssCapabilities;<o:p></o:p></p>

<p class=MsoNormal>+            
} <o:p></o:p></p>

<p class=MsoNormal>+            
else<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
//<o:p></o:p></p>

<p class=MsoNormal>+                            
// do not fail the call because of failure to get PM caps<o:p></o:p></p>

<p class=MsoNormal>+                            
//<o:p></o:p></p>

<p class=MsoNormal>+                            
Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+                            
gat.RecvScaleCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>@@ -1147,16 +1147,16 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    The routine sets an NDIS_OFFLOAD
structure indicates the current offload <o:p></o:p></p>

<p class=MsoNormal>-    capabilities that are provided by the
miniport adapter <o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
The routine sets an NDIS_OFFLOAD structure indicates the current offload <o:p></o:p></p>

<p class=MsoNormal>+            
capabilities that are provided by the miniport adapter <o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    pPort - a pointer to port object<o:p></o:p></p>

<p class=MsoNormal>-    offload - reference to NDIS_OFFLOAD
object that should be filled<o:p></o:p></p>

<p class=MsoNormal>+            
pPort - a pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+            
offload - reference to NDIS_OFFLOAD object that should be filled<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    None.<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
None.<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> static<o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal>@@ -1235,22 +1235,22 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    The routine sets an NDIS_OFFLOAD
structure that indicates all the task <o:p></o:p></p>

<p class=MsoNormal>-    offload capabilites that are supported
by the NIC. These capabilities include<o:p></o:p></p>

<p class=MsoNormal>-    capabilities that are currently disabled
by standardized keywords in the registry. <o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
The routine sets an NDIS_OFFLOAD structure that indicates all the task <o:p></o:p></p>

<p class=MsoNormal>+            
offload capabilites that are supported by the NIC. These capabilities include<o:p></o:p></p>

<p class=MsoNormal>+            
capabilities that are currently disabled by standardized keywords in the
registry. <o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    offload - reference to NDIS_OFFLOAD
object that should be filled<o:p></o:p></p>

<p class=MsoNormal>+            
offload - reference to NDIS_OFFLOAD object that should be filled<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    None.<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
None.<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> static<o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal> OffloadCapabilities(<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-             
NDIS_OFFLOAD
              
*p_offload<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_OFFLOAD               
*p_offload<o:p></o:p></p>

<p class=MsoNormal>               
)<o:p></o:p></p>

<p class=MsoNormal> { <o:p></o:p></p>

<p class=MsoNormal>               
ULONG ulEncapsulation = NDIS_ENCAPSULATION_IEEE_802_3 |
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q ;<o:p></o:p></p>

<p class=MsoNormal>@@ -1276,9 +1276,9 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
//<o:p></o:p></p>

<p class=MsoNormal>-             
//  BUGBUG::<o:p></o:p></p>

<p class=MsoNormal>-             
//  During a HW bug that didn't handle correctly packets with <o:p></o:p></p>

<p class=MsoNormal>-             
//  IPv6 Extension Headers -> we set IpExtensionHeadersSupported to
TRUE<o:p></o:p></p>

<p class=MsoNormal>+            
//            BUGBUG::<o:p></o:p></p>

<p class=MsoNormal>+            
//            During a
HW bug that didn't handle correctly packets with <o:p></o:p></p>

<p class=MsoNormal>+            
//            IPv6
Extension Headers -> we set IpExtensionHeadersSupported to TRUE<o:p></o:p></p>

<p class=MsoNormal>               
//<o:p></o:p></p>

<p class=MsoNormal>               
p_offload->Checksum.IPv6Transmit.Encapsulation = ulEncapsulation;<o:p></o:p></p>

<p class=MsoNormal>               
p_offload->Checksum.IPv6Transmit.IpExtensionHeadersSupported = <o:p></o:p></p>

<p class=MsoNormal>@@ -1323,18 +1323,18 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    The routine sets offload attributes that
are associated with a miniport <o:p></o:p></p>

<p class=MsoNormal>-    adapter.<o:p></o:p></p>

<p class=MsoNormal>+            
The routine sets offload attributes that are associated with a miniport <o:p></o:p></p>

<p class=MsoNormal>+            
adapter.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+            
pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Note:<o:p></o:p></p>

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetOffloadAttributes(<o:p></o:p></p>

<p class=MsoNormal>@@ -1346,7 +1346,7 @@<o:p></o:p></p>

<p class=MsoNormal>               
NDIS_OFFLOAD offload,hwOffload;<o:p></o:p></p>

<p class=MsoNormal>               
//ULONG ulEncapsulation = NDIS_ENCAPSULATION_IEEE_802_3 | NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES oat;    <o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES
oat;             
<o:p></o:p></p>

<p class=MsoNormal>               
NdisZeroMemory(&oat, sizeof(NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
oat.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>@@ -1372,30 +1372,30 @@<o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    An NDIS 6.0 miniport driver must call
NdisMSetMiniportAttributes<o:p></o:p></p>

<p class=MsoNormal>-    at least twice. The first call is to
register itself with NDIS.<o:p></o:p></p>

<p class=MsoNormal>-    The second call is to register the
miniport driver's general<o:p></o:p></p>

<p class=MsoNormal>-    attributes with NDIS.<o:p></o:p></p>

<p class=MsoNormal>+            
An NDIS 6.0 miniport driver must call NdisMSetMiniportAttributes<o:p></o:p></p>

<p class=MsoNormal>+            
at least twice. The first call is to register itself with NDIS.<o:p></o:p></p>

<p class=MsoNormal>+            
The second call is to register the miniport driver's general<o:p></o:p></p>

<p class=MsoNormal>+            
attributes with NDIS.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NdisMSetMiniportAttributes takes a
parameter of type<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_MINIPORT_ADAPTER_ATTRIBUTES, which
is a union of several miniport<o:p></o:p></p>

<p class=MsoNormal>-    adapter attributes. Miniport drivers
must first call<o:p></o:p></p>

<p class=MsoNormal>-    NdisMSetMiniportAttributes and pass in
an<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure<o:p></o:p></p>

<p class=MsoNormal>-    that contains the pointer to its own
context area, attribute flags,<o:p></o:p></p>

<p class=MsoNormal>-    check-for-hang time, and interface type.<o:p></o:p></p>

<p class=MsoNormal>+            
NdisMSetMiniportAttributes takes a parameter of type<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_MINIPORT_ADAPTER_ATTRIBUTES, which is a union of several miniport<o:p></o:p></p>

<p class=MsoNormal>+            
adapter attributes. Miniport drivers must first call<o:p></o:p></p>

<p class=MsoNormal>+            
NdisMSetMiniportAttributes and pass in an<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure<o:p></o:p></p>

<p class=MsoNormal>+            
that contains the pointer to its own context area, attribute flags,<o:p></o:p></p>

<p class=MsoNormal>+            
check-for-hang time, and interface type.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    All NDIS 6.0 miniport drivers are
deserialized by default.<o:p></o:p></p>

<p class=MsoNormal>+            
All NDIS 6.0 miniport drivers are deserialized by default.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+            
pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Note:<o:p></o:p></p>

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
Should be called in PASSIVE_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetAttributes(<o:p></o:p></p>

<p class=MsoNormal>@@ -1433,8 +1433,8 @@<o:p></o:p></p>

<p class=MsoNormal>                               
Status = SetHardwareAssistAttributes(pPort);<o:p></o:p></p>

<p class=MsoNormal>                               
if (Status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

<p class=MsoNormal>                               
{<o:p></o:p></p>

<p class=MsoNormal>-                             
    //ETH_PRINT(TRACE_LEVEL_ERROR, ETH_INIT, "Set Hardware
Assist Attributes failed Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>-                             
    return Status;<o:p></o:p></p>

<p class=MsoNormal>+                                            
//ETH_PRINT(TRACE_LEVEL_ERROR, ETH_INIT, "Set Hardware Assist Attributes
failed Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>+                                            
return Status;<o:p></o:p></p>

<p class=MsoNormal>                               
}<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal>@@ -1442,8 +1442,8 @@<o:p></o:p></p>

<p class=MsoNormal>               
Status = SetGenericAttributes(p_adapter, h_adapter);<o:p></o:p></p>

<p class=MsoNormal>               
if (Status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>-             
    //ETH_PRINT(TRACE_LEVEL_ERROR, ETH_INIT, "Set generic
attributes failed Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>-             
    return Status;<o:p></o:p></p>

<p class=MsoNormal>+                            
//ETH_PRINT(TRACE_LEVEL_ERROR, ETH_INIT, "Set generic attributes failed
Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>+                            
return Status;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
return Status;<o:p></o:p></p>

<p class=MsoNormal>@@ -1452,20 +1452,20 @@<o:p></o:p></p>

<p class=MsoNormal> BOOLEAN<o:p></o:p></p>

<p class=MsoNormal> IsValidOffloadConfig(ipoib_adapter_t *p_adapter,
PNDIS_OFFLOAD_PARAMETERS pOffloadParam)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    BOOLEAN bRet = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
BOOLEAN bRet = TRUE;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    UCHAR CheckSumConfig[5]={0};<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[0] =
pOffloadParam->IPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[1] =
pOffloadParam->TCPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[2] =
pOffloadParam->UDPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[3] =
pOffloadParam->TCPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[4] =
pOffloadParam->UDPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal>+            
UCHAR CheckSumConfig[5]={0};<o:p></o:p></p>

<p class=MsoNormal>+            
CheckSumConfig[0] = pOffloadParam->IPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>+            
CheckSumConfig[1] = pOffloadParam->TCPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>+            
CheckSumConfig[2] = pOffloadParam->UDPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>+            
CheckSumConfig[3] = pOffloadParam->TCPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal>+            
CheckSumConfig[4] = pOffloadParam->UDPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    for(int i=0 ; i<5 ; i++)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-  
     if(CheckSumConfig[i] !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-        {<o:p></o:p></p>

<p class=MsoNormal>-       
      switch (CheckSumConfig[i]) {<o:p></o:p></p>

<p class=MsoNormal>+            
for(int i=0 ; i<5 ; i++)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
if(CheckSumConfig[i] != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                            
switch (CheckSumConfig[i]) {<o:p></o:p></p>

<p class=MsoNormal>                                                               
case NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED:<o:p></o:p></p>

<p class=MsoNormal>                                                                               
bRet = TRUE;<o:p></o:p></p>

<p class=MsoNormal>                                                                               
break;<o:p></o:p></p>

<p class=MsoNormal>@@ -1482,28 +1482,28 @@<o:p></o:p></p>

<p class=MsoNormal>                                                                               
break;<o:p></o:p></p>

<p class=MsoNormal>                                                               
default:<o:p></o:p></p>

<p class=MsoNormal>                                                                               
ASSERT (FALSE);<o:p></o:p></p>

<p class=MsoNormal>-       
      }<o:p></o:p></p>

<p class=MsoNormal>+                                            
}<o:p></o:p></p>

<p class=MsoNormal>                               
<o:p></o:p></p>

<p class=MsoNormal>                                               
if (!bRet) <o:p></o:p></p>

<p class=MsoNormal>                                                               
return FALSE;<o:p></o:p></p>

<p class=MsoNormal>                                                                               
<o:p></o:p></p>

<p class=MsoNormal>                                                                               
<o:p></o:p></p>

<p class=MsoNormal>-           
for(int j=0 ; j<5 ; j++)<o:p></o:p></p>

<p class=MsoNormal>-           
{<o:p></o:p></p>

<p class=MsoNormal>-               
if( (CheckSumConfig[j] != 0) && (CheckSumConfig[j] !=
CheckSumConfig[i])  )<o:p></o:p></p>

<p class=MsoNormal>-               
{<o:p></o:p></p>

<p class=MsoNormal>-                  
bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>-                  
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-               
}<o:p></o:p></p>

<p class=MsoNormal>-           
}            <o:p></o:p></p>

<p class=MsoNormal>-        }<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+                                            
for(int j=0 ; j<5 ; j++)<o:p></o:p></p>

<p class=MsoNormal>+                                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                                            
if( (CheckSumConfig[j] != 0) && (CheckSumConfig[j] !=
CheckSumConfig[i])  )<o:p></o:p></p>

<p class=MsoNormal>+                                                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                                            
   bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+                                                            
   goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+                                                            
}<o:p></o:p></p>

<p class=MsoNormal>+                                            
}                                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
}<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    UCHAR OffloadConfig[3]={0};<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[0] =
pOffloadParam->LsoV1;<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[1] =
pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[2] =
pOffloadParam->LsoV2IPv6;<o:p></o:p></p>

<p class=MsoNormal>+            
UCHAR OffloadConfig[3]={0};<o:p></o:p></p>

<p class=MsoNormal>+            
OffloadConfig[0] = pOffloadParam->LsoV1;<o:p></o:p></p>

<p class=MsoNormal>+            
OffloadConfig[1] = pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal>+            
OffloadConfig[2] = pOffloadParam->LsoV2IPv6;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
if (!p_adapter->offload_cap.lso) {<o:p></o:p></p>

<p class=MsoNormal>                               
if ((pOffloadParam->LsoV1 == NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED) ||<o:p></o:p></p>

<p class=MsoNormal>@@ -1514,128 +1514,128 @@<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>               
<o:p></o:p></p>

<p class=MsoNormal>               
pOffloadParam->LsoV1;<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[1] =
pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal>+            
OffloadConfig[1] = pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    for(int i=0 ; i<3 ; i++)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-       
if(OffloadConfig[i] != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-        {<o:p></o:p></p>

<p class=MsoNormal>-           
for(int j=0 ; j<3 ; j++)<o:p></o:p></p>

<p class=MsoNormal>-           
{<o:p></o:p></p>

<p class=MsoNormal>-               
if( (OffloadConfig[j] != 0) && (OffloadConfig[j] !=
OffloadConfig[i])  )<o:p></o:p></p>

<p class=MsoNormal>-               
{<o:p></o:p></p>

<p class=MsoNormal>-                  
bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>-                  
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-               
}<o:p></o:p></p>

<p class=MsoNormal>-           
}            <o:p></o:p></p>

<p class=MsoNormal>-       
}        <o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
for(int i=0 ; i<3 ; i++)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
if(OffloadConfig[i] != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                            
for(int j=0 ; j<3 ; j++)<o:p></o:p></p>

<p class=MsoNormal>+                                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                                            
if( (OffloadConfig[j] != 0) && (OffloadConfig[j] !=
OffloadConfig[i])  )<o:p></o:p></p>

<p class=MsoNormal>+                                                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                                            
   bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+                                                            
   goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+                                                            
}<o:p></o:p></p>

<p class=MsoNormal>+                                            
}                                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
}                             
<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>    <o:p></o:p></p>

<p class=MsoNormal> Exit:<o:p></o:p></p>

<p class=MsoNormal>-    return
bRet;        <o:p></o:p></p>

<p class=MsoNormal>+            
return
bRet;                      
<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS <o:p></o:p></p>

<p class=MsoNormal> SetOffloadParameters(<o:p></o:p></p>

<p class=MsoNormal>-    ipoib_adapter_t * p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>-    ULONG len <o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
ipoib_adapter_t * p_adapter,<o:p></o:p></p>

<p class=MsoNormal>+            
void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>+            
ULONG len <o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+            
IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    ASSERT(pBuf != NULL); <o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OFFLOAD_PARAMETERS pOffloadParam =
NULL;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OBJECT_HEADER pOffloadHeader =
NULL;<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS Status =
NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>-    bool StatusIndicationFlag = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+            
ASSERT(pBuf != NULL); <o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_OFFLOAD_PARAMETERS pOffloadParam = NULL;<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_OBJECT_HEADER pOffloadHeader = NULL;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+            
bool StatusIndicationFlag = FALSE;<o:p></o:p></p>

<p class=MsoNormal>  <o:p></o:p></p>

<p class=MsoNormal>-    if (len !=
NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-       
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>+            
if (len != NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                            
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                               
("Buffer is too small. offloading task requirs %d but the buffer "<o:p></o:p></p>

<p class=MsoNormal>                                               
 "size is: %d \n", NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2,
len));<o:p></o:p></p>

<p class=MsoNormal>-        Status = 
NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+                            
Status =  NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    IPOIB_PRINT(TRACE_LEVEL_VERBOSE,
IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>+            
IPOIB_PRINT(TRACE_LEVEL_VERBOSE, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                               
("received set for OID_TCP_TASK_OFFLOAD\n"));<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    pOffloadParam =
(PNDIS_OFFLOAD_PARAMETERS) pBuf;<o:p></o:p></p>

<p class=MsoNormal>-    pOffloadHeader =
&(pOffloadParam->Header);<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    if((pOffloadHeader->Type !=
NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>-      
(pOffloadHeader->Revision != NDIS_OFFLOAD_PARAMETERS_REVISION_2) ||<o:p></o:p></p>

<p class=MsoNormal>-      
(pOffloadHeader->Size != NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2))<o:p></o:p></p>

<p class=MsoNormal>-    {       <o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-       
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>+            
pOffloadParam = (PNDIS_OFFLOAD_PARAMETERS) pBuf;<o:p></o:p></p>

<p class=MsoNormal>+            
pOffloadHeader = &(pOffloadParam->Header);<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
if((pOffloadHeader->Type != NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>+            
   (pOffloadHeader->Revision !=
NDIS_OFFLOAD_PARAMETERS_REVISION_2) ||<o:p></o:p></p>

<p class=MsoNormal>+            
   (pOffloadHeader->Size !=
NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2))<o:p></o:p></p>

<p class=MsoNormal>+            
{                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                            
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                               
("Set offloading task Illegal header\n"));<o:p></o:p></p>

<p class=MsoNormal>-        Status =
NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+                            
Status = NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    if ((pOffloadParam->IPsecV1 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-       
(pOffloadParam->TcpConnectionIPv4 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-       
(pOffloadParam->TcpConnectionIPv6 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-       
(pOffloadParam->Flags != 0))<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        Status =
NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
if ((pOffloadParam->IPsecV1 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->TcpConnectionIPv4 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->TcpConnectionIPv6 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->Flags != 0))<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
Status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
//Eliminate currently unsupported statistic<o:p></o:p></p>

<p class=MsoNormal>               
if ((pOffloadParam->TCPIPv6Checksum != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>                               
(pOffloadParam->UDPIPv6Checksum != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-                             
(pOffloadParam->LsoV2IPv6
                    
!= NDIS_OFFLOAD_PARAMETERS_NO_CHANGE))<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->LsoV2IPv6                     
!= NDIS_OFFLOAD_PARAMETERS_NO_CHANGE))<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
Status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>                               
<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    BOOLEAN bRet =
IsValidOffloadConfig(p_adapter, pOffloadParam);<o:p></o:p></p>

<p class=MsoNormal>-    if(bRet == FALSE)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        //ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        Status =
NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-        goto
Exit;        <o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
BOOLEAN bRet = IsValidOffloadConfig(p_adapter, pOffloadParam);<o:p></o:p></p>

<p class=MsoNormal>+            
if(bRet == FALSE)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
//ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                            
Status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto
Exit;                            
  <o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
// Set current offload configuration capabilites<o:p></o:p></p>

<p class=MsoNormal>               
if ((pOffloadParam->IPv4Checksum ==
NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>                               
(pOffloadParam->TCPIPv4Checksum ==               
NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>-                             
(pOffloadParam->UDPIPv4Checksum ==
               
NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED))<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->UDPIPv4Checksum ==               
NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED))<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.send_chksum_offload = CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.recv_chksum_offload = CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
else if ((pOffloadParam->IPv4Checksum ==
      
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>-                             
(pOffloadParam->TCPIPv4Checksum ==                
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>-                             
(pOffloadParam->UDPIPv4Checksum ==
               
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED))<o:p></o:p></p>

<p class=MsoNormal>+            
else if ((pOffloadParam->IPv4Checksum
==       
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->TCPIPv4Checksum
==               
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->UDPIPv4Checksum ==               
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED))<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.recv_chksum_offload = CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.send_chksum_offload = CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
else if ((pOffloadParam->IPv4Checksum ==
       NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>-                             
(pOffloadParam->TCPIPv4Checksum ==              
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>-             
               
(pOffloadParam->UDPIPv4Checksum ==
            
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ))<o:p></o:p></p>

<p class=MsoNormal>+            
else if ((pOffloadParam->IPv4Checksum
==       
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->TCPIPv4Checksum ==              
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pOffloadParam->UDPIPv4Checksum ==             
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ))<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.send_chksum_offload = CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.recv_chksum_offload = CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>-             
else if ((pOffloadParam->IPv4Checksum ==
       NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED )
||<o:p></o:p></p>

<p class=MsoNormal>-                                             
(pOffloadParam->TCPIPv4Checksum ==
             
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>-                                             
(pOffloadParam->UDPIPv4Checksum ==
            
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ))<o:p></o:p></p>

<p class=MsoNormal>+            
else if ((pOffloadParam->IPv4Checksum
==       
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>+                                            
(pOffloadParam->TCPIPv4Checksum
==              
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>+                                            
(pOffloadParam->UDPIPv4Checksum
==             
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ))<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.send_chksum_offload = CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->params.recv_chksum_offload = CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>@@ -1644,127 +1644,127 @@<o:p></o:p></p>

<p class=MsoNormal>               
<o:p></o:p></p>

<p class=MsoNormal>                               
<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>- #if 0  <o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->TCPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-       
UpdateOffloadSeeting(pOffloadParam->TCPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);        <o:p></o:p></p>

<p class=MsoNormal>-       
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->UDPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-       
UpdateOffloadSeeting(pOffloadParam->UDPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);        <o:p></o:p></p>

<p class=MsoNormal>-       
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+ #if 0    <o:p></o:p></p>

<p class=MsoNormal>+            
if(pOffloadParam->TCPIPv6Checksum != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
UpdateOffloadSeeting(pOffloadParam->TCPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);          
               
<o:p></o:p></p>

<p class=MsoNormal>+                            
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
if(pOffloadParam->UDPIPv6Checksum != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
UpdateOffloadSeeting(pOffloadParam->UDPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);        
               
<o:p></o:p></p>

<p class=MsoNormal>+                            
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>    //
SetCheksumOffloadingModes(pPort->Config);<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-   
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    //////////////////////////// OFFLOAD
OFFLOAD ////////////////////////////<o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->LsoV1 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-   
          p_adapter->params.lso
= (pOffloadParam->LsoV1 ==
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED);   <o:p></o:p></p>

<p class=MsoNormal>-        StatusIndicationFlag
= TRUE;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->LsoV2IPv4 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-   
{        <o:p></o:p></p>

<p class=MsoNormal>-       
p_adapter->params.lso = (pOffloadParam->LsoV1 ==
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED);<o:p></o:p></p>

<p class=MsoNormal>-        StatusIndicationFlag
= TRUE;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>-#if 0    <o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->LsoV2IPv6 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>-   
{        <o:p></o:p></p>

<p class=MsoNormal>-       
if(pOffloadParam->LsoV2IPv6 == NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED)<o:p></o:p></p>

<p class=MsoNormal>-        {<o:p></o:p></p>

<p class=MsoNormal>-           
pPort->Config.LsoV2IPv6 =
TRUE;            <o:p></o:p></p>

<p class=MsoNormal>-        }<o:p></o:p></p>

<p class=MsoNormal>-        else<o:p></o:p></p>

<p class=MsoNormal>-        {<o:p></o:p></p>

<p class=MsoNormal>-           
pPort->Config.LsoV2IPv6 =
FALSE;            <o:p></o:p></p>

<p class=MsoNormal>-        }<o:p></o:p></p>

<p class=MsoNormal>-        <o:p></o:p></p>

<p class=MsoNormal>-       
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
//////////////////////////// OFFLOAD OFFLOAD ////////////////////////////<o:p></o:p></p>

<p class=MsoNormal>+            
if(pOffloadParam->LsoV1 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
p_adapter->params.lso = (pOffloadParam->LsoV1 ==
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED);   <o:p></o:p></p>

<p class=MsoNormal>+                            
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
if(pOffloadParam->LsoV2IPv4 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+            
{                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
p_adapter->params.lso = (pOffloadParam->LsoV1 ==
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED);<o:p></o:p></p>

<p class=MsoNormal>+                            
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>+#if 0     <o:p></o:p></p>

<p class=MsoNormal>+            
if(pOffloadParam->LsoV2IPv6 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

<p class=MsoNormal>+            
{                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
if(pOffloadParam->LsoV2IPv6 == NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED)<o:p></o:p></p>

<p class=MsoNormal>+                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                            
pPort->Config.LsoV2IPv6 = TRUE;
                           
   <o:p></o:p></p>

<p class=MsoNormal>+                            
}<o:p></o:p></p>

<p class=MsoNormal>+                            
else<o:p></o:p></p>

<p class=MsoNormal>+                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                            
pPort->Config.LsoV2IPv6 = FALSE;                                          
<o:p></o:p></p>

<p class=MsoNormal>+                            
}<o:p></o:p></p>

<p class=MsoNormal>+                            
<o:p></o:p></p>

<p class=MsoNormal>+                            
StatusIndicationFlag = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>    <o:p></o:p></p>

<p class=MsoNormal>-   
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//   
<o:p></o:p></p>

<p class=MsoNormal>+            
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//       
<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    if(StatusIndicationFlag)<o:p></o:p></p>

<p class=MsoNormal>-   
{        <o:p></o:p></p>

<p class=MsoNormal>-        NDIS_OFFLOAD
CurrentOffloadCapapilities;<o:p></o:p></p>

<p class=MsoNormal>-       
NDIS_STATUS_INDICATION
StatusIndication;               
<o:p></o:p></p>

<p class=MsoNormal>+            
if(StatusIndicationFlag)<o:p></o:p></p>

<p class=MsoNormal>+            
{                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
NDIS_OFFLOAD CurrentOffloadCapapilities;<o:p></o:p></p>

<p class=MsoNormal>+                            
NDIS_STATUS_INDICATION
StatusIndication;                                                    
<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-       
OffloadConfig(p_adapter, &CurrentOffloadCapapilities);<o:p></o:p></p>

<p class=MsoNormal>+                            
OffloadConfig(p_adapter, &CurrentOffloadCapapilities);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-                
<o:p></o:p></p>

<p class=MsoNormal>-       
IPOIB_INIT_NDIS_STATUS_INDICATION(&StatusIndication,<o:p></o:p></p>

<p class=MsoNormal>-                                      
p_adapter->h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-                                      
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG ,<o:p></o:p></p>

<p class=MsoNormal>-                                      
(PVOID)&CurrentOffloadCapapilities,<o:p></o:p></p>

<p class=MsoNormal>-                                      
sizeof(CurrentOffloadCapapilities));<o:p></o:p></p>

<p class=MsoNormal>-                   
                   <o:p></o:p></p>

<p class=MsoNormal>-       
NdisMIndicateStatusEx(p_adapter->h_adapter, &StatusIndication);       
<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>-               
<o:p></o:p></p>

<p class=MsoNormal>-Exit:   <o:p></o:p></p>

<p class=MsoNormal>-    IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>-    return Status;   <o:p></o:p></p>

<p class=MsoNormal>+                                                            
<o:p></o:p></p>

<p class=MsoNormal>+                            
IPOIB_INIT_NDIS_STATUS_INDICATION(&StatusIndication,<o:p></o:p></p>

<p class=MsoNormal>+            
                                                                                                                               
   p_adapter->h_adapter,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                            
   NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG ,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                            
   (PVOID)&CurrentOffloadCapapilities,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                            
   sizeof(CurrentOffloadCapapilities));<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                            
   <o:p></o:p></p>

<p class=MsoNormal>+                            
NdisMIndicateStatusEx(p_adapter->h_adapter, &StatusIndication);
         <o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>+                                                            
<o:p></o:p></p>

<p class=MsoNormal>+Exit:     <o:p></o:p></p>

<p class=MsoNormal>+            
IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+            
return Status;    <o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal>-    The routine handles setting of
OID_GEN_INTERRUPT_MODERATION.<o:p></o:p></p>

<p class=MsoNormal>+            
The routine handles setting of OID_GEN_INTERRUPT_MODERATION.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal>-    InformationBuffer - Pointer to the
buffer that contains the data<o:p></o:p></p>

<p class=MsoNormal>-    InformationBufferLength - data length<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
InformationBuffer - Pointer to the buffer that contains the data<o:p></o:p></p>

<p class=MsoNormal>+            
InformationBufferLength - data length<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STAUS<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STAUS<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> static <o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> SetInterruptModeration(<o:p></o:p></p>

<p class=MsoNormal>-    PVOID InformationBuffer,<o:p></o:p></p>

<p class=MsoNormal>-    ULONG InformationBufferLength )<o:p></o:p></p>

<p class=MsoNormal>+            
PVOID InformationBuffer,<o:p></o:p></p>

<p class=MsoNormal>+            
ULONG InformationBufferLength )<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS Status =
NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    if (InformationBufferLength !=
sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS))<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        Status =
NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_INTERRUPT_MODERATION_PARAMETERS
pInteruptModerationParam =<o:p></o:p></p>

<p class=MsoNormal>-                   
(PNDIS_INTERRUPT_MODERATION_PARAMETERS)InformationBuffer;<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    if ((pInteruptModerationParam->Header.Type
!= NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>-       
(pInteruptModerationParam->Header.Revision !=
NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>-       
(pInteruptModerationParam->Header.Size !=
NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1))<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        Status =
NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    // BUGBUG: Need to handle disabling of
interrupt moderation <o:p></o:p></p>

<p class=MsoNormal>-   
//                         
UH, 4-Jun-2008<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-//    ASSERT(pInteruptModerationParam->Flags
== NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET);<o:p></o:p></p>

<p class=MsoNormal>-//   
ASSERT(pInteruptModerationParam->InterruptModeration ==
NdisInterruptModerationEnabled);<o:p></o:p></p>

<p class=MsoNormal>+            
IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
if (InformationBufferLength != sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS))<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
Status = NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_INTERRUPT_MODERATION_PARAMETERS pInteruptModerationParam =<o:p></o:p></p>

<p class=MsoNormal>+                                                                            
(PNDIS_INTERRUPT_MODERATION_PARAMETERS)InformationBuffer;<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
if ((pInteruptModerationParam->Header.Type != NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pInteruptModerationParam->Header.Revision !=
NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>+                            
(pInteruptModerationParam->Header.Size !=
NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1))<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
Status = NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>+                            
goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
// BUGBUG: Need to handle disabling of interrupt moderation <o:p></o:p></p>

<p class=MsoNormal>+            
//                                                                                                           
UH, 4-Jun-2008<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+//           ASSERT(pInteruptModerationParam->Flags
== NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET);<o:p></o:p></p>

<p class=MsoNormal>+//          
ASSERT(pInteruptModerationParam->InterruptModeration ==
NdisInterruptModerationEnabled);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Exit:<o:p></o:p></p>

<p class=MsoNormal>-    IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>-    return Status;<o:p></o:p></p>

<p class=MsoNormal>+            
IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+            
return Status;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -1825,17 +1825,17 @@<o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    MiniportInitialize handler<o:p></o:p></p>

<p class=MsoNormal>+            
MiniportInitialize handler<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    MiniportAdapterHandle   The
handle NDIS uses to refer to us<o:p></o:p></p>

<p class=MsoNormal>-    MiniportDriverContext   Handle
passed to NDIS when we registered the driver<o:p></o:p></p>

<p class=MsoNormal>-    MiniportInitParameters 
Initialization parameters<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
MiniportAdapterHandle              
The handle NDIS uses to refer to us<o:p></o:p></p>

<p class=MsoNormal>+            
MiniportDriverContext  Handle passed to NDIS when we registered the driver<o:p></o:p></p>

<p class=MsoNormal>+            
MiniportInitParameters               
Initialization parameters<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS_SUCCESS unless something
goes wrong<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_STATUS_SUCCESS unless something goes wrong<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -1878,7 +1878,7 @@<o:p></o:p></p>

<p class=MsoNormal>                               
}<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->ipoib_state = IPOIB_INIT;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-                             
status  = SetAttributes(p_adapter, h_adapter);<o:p></o:p></p>

<p class=MsoNormal>+                            
status    = SetAttributes(p_adapter, h_adapter);<o:p></o:p></p>

<p class=MsoNormal>                               
if (status != NDIS_STATUS_SUCCESS) {<o:p></o:p></p>

<p class=MsoNormal>                                               
//ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>                                               
ipoib_destroy_adapter( p_adapter );<o:p></o:p></p>

<p class=MsoNormal>@@ -1934,14 +1934,14 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //! Deallocates resources when the NIC is removed and
halts the NIC..<o:p></o:p></p>

<p class=MsoNormal> //TODO: Dispatch or Passive ?<o:p></o:p></p>

<p class=MsoNormal>-/*  IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+/*         IRQL =
DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> @param adapter_context The adapter context allocated
at start<o:p></o:p></p>

<p class=MsoNormal> */<o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal> ipoib_halt_ex(<o:p></o:p></p>

<p class=MsoNormal>               
IN                                                          
NDIS_HANDLE                                                                  
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-             
IN 
                                        
NDIS_HALT_ACTION           
HaltAction )<o:p></o:p></p>

<p class=MsoNormal>+            
IN                                                          
NDIS_HALT_ACTION                                     
HaltAction )<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t              
*p_adapter;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -1974,7 +1974,7 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //! Reports the state of the NIC, or monitors the
responsiveness of an underlying device driver.<o:p></o:p></p>

<p class=MsoNormal>-/*  IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+/*         IRQL =
DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> @param adapter_context The adapter context allocated
at start<o:p></o:p></p>

<p class=MsoNormal> @return TRUE if the driver determines that its NIC is
not operating<o:p></o:p></p>

<p class=MsoNormal>@@ -2051,7 +2051,7 @@<o:p></o:p></p>

<p class=MsoNormal>               
ULONG RxChksumOffload = ((MP_GET_PORT_CONFIG(pPort, RxChksumOffload) == TRUE) ?
NDIS_OFFLOAD_SET_ON : NDIS_OFFLOAD_SET_OFF);<o:p></o:p></p>

<p class=MsoNormal>               
BOOLEAN fLargeSendOffload = MP_GET_PORT_CONFIG(pPort, LargeSendOffload);<o:p></o:p></p>

<p class=MsoNormal>               
ULONG ulEncapsulation = NDIS_ENCAPSULATION_IEEE_802_3 |
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q;<o:p></o:p></p>

<p class=MsoNormal>-             
    <o:p></o:p></p>

<p class=MsoNormal>+                            
<o:p></o:p></p>

<p class=MsoNormal>               
NdisZeroMemory(&*p_offload, sizeof(NDIS_OFFLOAD));<o:p></o:p></p>

<p class=MsoNormal>               
*p_offload.Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;<o:p></o:p></p>

<p class=MsoNormal>               
*p_offload.Header.Revision = NDIS_OFFLOAD_REVISION_1; // BUGBUG: do we need to
support revision 2? UH 17-May-2008<o:p></o:p></p>

<p class=MsoNormal>@@ -2086,17 +2086,17 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
if (fLargeSendOffload)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>-             
    *p_offload.LsoV1.IPv4.Encapsulation = ulEncapsulation;<o:p></o:p></p>

<p class=MsoNormal>-             
    *p_offload.LsoV1.IPv4.MaxOffLoadSize = LARGE_SEND_OFFLOAD_SIZE;<o:p></o:p></p>

<p class=MsoNormal>-             
    *p_offload.LsoV1.IPv4.MinSegmentCount = 1;<o:p></o:p></p>

<p class=MsoNormal>-             
    *p_offload.LsoV1.IPv4.TcpOptions = NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-             
    *p_offload.LsoV1.IPv4.IpOptions = NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                            
*p_offload.LsoV1.IPv4.Encapsulation = ulEncapsulation;<o:p></o:p></p>

<p class=MsoNormal>+                            
*p_offload.LsoV1.IPv4.MaxOffLoadSize = LARGE_SEND_OFFLOAD_SIZE;<o:p></o:p></p>

<p class=MsoNormal>+                            
*p_offload.LsoV1.IPv4.MinSegmentCount = 1;<o:p></o:p></p>

<p class=MsoNormal>+                            
*p_offload.LsoV1.IPv4.TcpOptions = NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                            
*p_offload.LsoV1.IPv4.IpOptions = NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> #endif<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //! Returns information about the capabilities and
status of the driver and/or its NIC.<o:p></o:p></p>

<p class=MsoNormal>-/*  IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+/*         IRQL =
DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> @param adapter_context The adapter context allocated
at start<o:p></o:p></p>

<p class=MsoNormal> @param oid Object ID representing the query operation
to be carried out<o:p></o:p></p>

<p class=MsoNormal>@@ -2111,8 +2111,8 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_query_info(<o:p></o:p></p>

<p class=MsoNormal>-    IN     
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT
PNDIS_OID_REQUEST   pNdisRequest )<o:p></o:p></p>

<p class=MsoNormal>+            
IN                          
NDIS_HANDLE                  
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN           OUT
PNDIS_OID_REQUEST         
pNdisRequest )<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>                               
ipoib_adapter_t                              
*p_adapter;<o:p></o:p></p>

<p class=MsoNormal>@@ -2123,7 +2123,7 @@<o:p></o:p></p>

<p class=MsoNormal>                               
ULONG                                                
buf_len;<o:p></o:p></p>

<p class=MsoNormal>                               
pending_oid_t                 
oid_info;<o:p></o:p></p>

<p class=MsoNormal>                               
uint8_t                                                
port_num;<o:p></o:p></p>

<p class=MsoNormal>-                             
NDIS_OFFLOAD        offload;<o:p></o:p></p>

<p class=MsoNormal>+                            
NDIS_OFFLOAD                               
offload;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>                               
NDIS_INTERRUPT_MODERATION_PARAMETERS InterruptModerationParam;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -2366,7 +2366,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                               
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                                               
("Port %d received query for OID_GEN_STATISTICS\n", port_num) );<o:p></o:p></p>

<p class=MsoNormal>                                               
src_buf = NULL;   <o:p></o:p></p>

<p class=MsoNormal>-                                             
buf_len =  sizeof(NDIS_STATISTICS_INFO);<o:p></o:p></p>

<p class=MsoNormal>+                                            
buf_len =          
sizeof(NDIS_STATISTICS_INFO);<o:p></o:p></p>

<p class=MsoNormal>                                               
if (oid_info.buf_len < buf_len)<o:p></o:p></p>

<p class=MsoNormal>                                               
{<o:p></o:p></p>

<p class=MsoNormal>                                               
   break;<o:p></o:p></p>

<p class=MsoNormal>@@ -2538,29 +2538,29 @@<o:p></o:p></p>

<p class=MsoNormal>                                               
info = 0;<o:p></o:p></p>

<p class=MsoNormal>                                               
break;<o:p></o:p></p>

<p class=MsoNormal>                               
case OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES:<o:p></o:p></p>

<p class=MsoNormal>-           
buf_len = sizeof(NDIS_OFFLOAD);<o:p></o:p></p>

<p class=MsoNormal>-           
if (buf_len < oid_info.buf_len)<o:p></o:p></p>

<p class=MsoNormal>-           
{<o:p></o:p></p>

<p class=MsoNormal>-               
*oid_info.p_bytes_needed = buf_len;<o:p></o:p></p>

<p class=MsoNormal>+                                            
buf_len = sizeof(NDIS_OFFLOAD);<o:p></o:p></p>

<p class=MsoNormal>+                                            
if (buf_len < oid_info.buf_len)<o:p></o:p></p>

<p class=MsoNormal>+                                            
{<o:p></o:p></p>

<p class=MsoNormal>+                                                            
*oid_info.p_bytes_needed = buf_len;<o:p></o:p></p>

<p class=MsoNormal>                                                               
return NDIS_STATUS_BUFFER_TOO_SHORT;<o:p></o:p></p>

<p class=MsoNormal>-           
}<o:p></o:p></p>

<p class=MsoNormal>+                                            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-           
OffloadCapabilities(p_adapter, &offload);<o:p></o:p></p>

<p class=MsoNormal>-           
src_buf = &offload;<o:p></o:p></p>

<p class=MsoNormal>-           
break;                                    
<o:p></o:p></p>

<p class=MsoNormal>+                                            
OffloadCapabilities(p_adapter, &offload);<o:p></o:p></p>

<p class=MsoNormal>+                                            
src_buf = &offload;<o:p></o:p></p>

<p class=MsoNormal>+                                            
break;                                  
<o:p></o:p></p>

<p class=MsoNormal>                               
case OID_GEN_INTERRUPT_MODERATION:<o:p></o:p></p>

<p class=MsoNormal>-           
InterruptModerationParam.Header.Type = NDIS_OBJECT_TYPE_DEFAULT;<o:p></o:p></p>

<p class=MsoNormal>-           
InterruptModerationParam.Header.Revision =<o:p></o:p></p>

<p class=MsoNormal>+                                            
InterruptModerationParam.Header.Type = NDIS_OBJECT_TYPE_DEFAULT;<o:p></o:p></p>

<p class=MsoNormal>+                                            
InterruptModerationParam.Header.Revision =<o:p></o:p></p>

<p class=MsoNormal>                                                                                                               
NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-           
InterruptModerationParam.Header.Size =<o:p></o:p></p>

<p class=MsoNormal>+                                            
InterruptModerationParam.Header.Size =<o:p></o:p></p>

<p class=MsoNormal>                                                                                               
NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-           
InterruptModerationParam.Flags =<o:p></o:p></p>

<p class=MsoNormal>+                                            
InterruptModerationParam.Flags =<o:p></o:p></p>

<p class=MsoNormal>                                                                                                                               
NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET;<o:p></o:p></p>

<p class=MsoNormal>-           
InterruptModerationParam.InterruptModeration =<o:p></o:p></p>

<p class=MsoNormal>+                                            
InterruptModerationParam.InterruptModeration =<o:p></o:p></p>

<p class=MsoNormal>                                                                                                                                                               
NdisInterruptModerationNotSupported;<o:p></o:p></p>

<p class=MsoNormal>-           
buf_len = sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS);<o:p></o:p></p>

<p class=MsoNormal>-           
src_buf = (PVOID) &InterruptModerationParam;  <o:p></o:p></p>

<p class=MsoNormal>-         
  break;<o:p></o:p></p>

<p class=MsoNormal>+                                            
buf_len = sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS);<o:p></o:p></p>

<p class=MsoNormal>+                                            
src_buf = (PVOID) &InterruptModerationParam;  <o:p></o:p></p>

<p class=MsoNormal>+                                            
break;<o:p></o:p></p>

<p class=MsoNormal>               
<o:p></o:p></p>

<p class=MsoNormal>                               
/* Optional General */<o:p></o:p></p>

<p class=MsoNormal>                               
case OID_GEN_SUPPORTED_GUIDS:<o:p></o:p></p>

<p class=MsoNormal>@@ -2613,7 +2613,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                                               
("Port %d received query for OID_TCP_OFFLOAD_CURRENT_CONFIG\n",<o:p></o:p></p>

<p class=MsoNormal>                                                                               
port_num) );<o:p></o:p></p>

<p class=MsoNormal>                                                               
//ulBytesAvailable = ulInfoLen = sizeof(NDIS_OFFLOAD);<o:p></o:p></p>

<p class=MsoNormal>-                                                             
if (oid_info.buf_len <  sizeof(NDIS_OFFLOAD))<o:p></o:p></p>

<p class=MsoNormal>+                                                            
if (oid_info.buf_len <     sizeof(NDIS_OFFLOAD))<o:p></o:p></p>

<p class=MsoNormal>                                                               
{<o:p></o:p></p>

<p class=MsoNormal>                                                                               
<o:p></o:p></p>

<p class=MsoNormal>                                                                               
*oid_info.p_bytes_needed = sizeof(NDIS_OFFLOAD) ;<o:p></o:p></p>

<p class=MsoNormal>@@ -2726,43 +2726,43 @@<o:p></o:p></p>

<p class=MsoNormal> static<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS <o:p></o:p></p>

<p class=MsoNormal> SetOffloadEncapsulation(<o:p></o:p></p>

<p class=MsoNormal>-    void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>-    ULONG len <o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>+            
ULONG len <o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    ASSERT(pBuf != NULL);<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OFFLOAD_ENCAPSULATION pOffload;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OBJECT_HEADER pOffloadHeader;<o:p></o:p></p>

<p class=MsoNormal>+            
ASSERT(pBuf != NULL);<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_OFFLOAD_ENCAPSULATION pOffload;<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_OBJECT_HEADER pOffloadHeader;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    if (len !=
sizeof(NDIS_OFFLOAD_ENCAPSULATION))<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-       
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID, ("Buffer is too small.
offloading task requirs %d but the buffer size is: %d \n",
sizeof(NDIS_OFFLOAD_ENCAPSULATION), len));<o:p></o:p></p>

<p class=MsoNormal>-        return 
NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>-    } <o:p></o:p></p>

<p class=MsoNormal>+            
if (len != sizeof(NDIS_OFFLOAD_ENCAPSULATION))<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                            
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID, ("Buffer is too small.
offloading task requirs %d but the buffer size is: %d \n",
sizeof(NDIS_OFFLOAD_ENCAPSULATION), len));<o:p></o:p></p>

<p class=MsoNormal>+                            
return   NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>+            
} <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    pOffload= (PNDIS_OFFLOAD_ENCAPSULATION)
pBuf;<o:p></o:p></p>

<p class=MsoNormal>-    pOffloadHeader =
&(pOffload->Header);<o:p></o:p></p>

<p class=MsoNormal>+            
pOffload= (PNDIS_OFFLOAD_ENCAPSULATION) pBuf;<o:p></o:p></p>

<p class=MsoNormal>+            
pOffloadHeader = &(pOffload->Header);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    if((pOffloadHeader->Type !=
NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION) ||<o:p></o:p></p>

<p class=MsoNormal>-      
(pOffloadHeader->Revision != NDIS_OFFLOAD_ENCAPSULATION_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>-      
(pOffloadHeader->Size != NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1))<o:p></o:p></p>

<p class=MsoNormal>-    {       <o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-       
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID, ("Set offloading task
Illegal header\n"));<o:p></o:p></p>

<p class=MsoNormal>-        return
NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
if((pOffloadHeader->Type != NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION) ||<o:p></o:p></p>

<p class=MsoNormal>+            
   (pOffloadHeader->Revision != NDIS_OFFLOAD_ENCAPSULATION_REVISION_1)
||<o:p></o:p></p>

<p class=MsoNormal>+            
   (pOffloadHeader->Size !=
NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1))<o:p></o:p></p>

<p class=MsoNormal>+            
{                             
<o:p></o:p></p>

<p class=MsoNormal>+                            
ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                            
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID, ("Set offloading task
Illegal header\n"));<o:p></o:p></p>

<p class=MsoNormal>+                            
return NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    // BUGBUG: Need to handle the offload
parameter setting<o:p></o:p></p>

<p class=MsoNormal>-    //<o:p></o:p></p>

<p class=MsoNormal>-    return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
// BUGBUG: Need to handle the offload parameter setting<o:p></o:p></p>

<p class=MsoNormal>+            
//<o:p></o:p></p>

<p class=MsoNormal>+            
return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //! Issues a hardware reset to the NIC and/or resets
the driver's software state.<o:p></o:p></p>

<p class=MsoNormal>-/*  Tear down the connection and start over
again.  This is only called when there is a problem.<o:p></o:p></p>

<p class=MsoNormal>+/*         Tear
down the connection and start over
again.               
This is only called when there is a problem.<o:p></o:p></p>

<p class=MsoNormal> For example, if a send, query info, or set info had a
time out.  MiniportCheckForHang will<o:p></o:p></p>

<p class=MsoNormal> be called first.<o:p></o:p></p>

<p class=MsoNormal> IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>@@ -2775,8 +2775,8 @@<o:p></o:p></p>

<p class=MsoNormal> */<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_reset(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE     adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    OUT
PBOOLEAN        p_addr_reset)<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
OUT
PBOOLEAN                              
p_addr_reset)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t* p_adapter;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>@@ -2808,7 +2808,7 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> //! Request changes in the state information that the
miniport driver maintains<o:p></o:p></p>

<p class=MsoNormal>-/*  For example, this is used to set multicast
addresses and the packet filter.<o:p></o:p></p>

<p class=MsoNormal>+/*         For
example, this is used to set multicast addresses and the packet filter.<o:p></o:p></p>

<p class=MsoNormal> IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> @param adapter_context The adapter context allocated
at start<o:p></o:p></p>

<p class=MsoNormal>@@ -2823,8 +2823,8 @@<o:p></o:p></p>

<p class=MsoNormal> */<o:p></o:p></p>

<p class=MsoNormal> NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_set_info(<o:p></o:p></p>

<p class=MsoNormal>-    IN     
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT
PNDIS_OID_REQUEST   pNdisRequest)<o:p></o:p></p>

<p class=MsoNormal>+            
IN                          
NDIS_HANDLE                  
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN           OUT
PNDIS_OID_REQUEST         
pNdisRequest)<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t*           
p_adapter;<o:p></o:p></p>

<p class=MsoNormal>@@ -2840,11 +2840,11 @@<o:p></o:p></p>

<p class=MsoNormal>               
CL_ASSERT( adapter_context );<o:p></o:p></p>

<p class=MsoNormal>               
p_adapter = (ipoib_adapter_t*)adapter_context;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-             
NDIS_OID    oid = pNdisRequest->DATA.SET_INFORMATION.Oid;<o:p></o:p></p>

<p class=MsoNormal>-             
PVOID       info_buf =
pNdisRequest->DATA.SET_INFORMATION.InformationBuffer;<o:p></o:p></p>

<p class=MsoNormal>-             
UINT        info_buf_len =
pNdisRequest->DATA.SET_INFORMATION.InformationBufferLength;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_OID            oid
= pNdisRequest->DATA.SET_INFORMATION.Oid;<o:p></o:p></p>

<p class=MsoNormal>+            
PVOID                  
info_buf = pNdisRequest->DATA.SET_INFORMATION.InformationBuffer;<o:p></o:p></p>

<p class=MsoNormal>+            
UINT                     
info_buf_len = pNdisRequest->DATA.SET_INFORMATION.InformationBufferLength;<o:p></o:p></p>

<p class=MsoNormal>               
PULONG                             
p_bytes_read = (PULONG)&pNdisRequest->DATA.SET_INFORMATION.BytesRead;<o:p></o:p></p>

<p class=MsoNormal>-             
PULONG
                            
p_bytes_needed = (PULONG)&pNdisRequest->DATA.SET_INFORMATION.BytesNeeded;<o:p></o:p></p>

<p class=MsoNormal>+            
PULONG                             
p_bytes_needed =
(PULONG)&pNdisRequest->DATA.SET_INFORMATION.BytesNeeded;<o:p></o:p></p>

<p class=MsoNormal>               
<o:p></o:p></p>

<p class=MsoNormal>               
CL_ASSERT( p_bytes_read );<o:p></o:p></p>

<p class=MsoNormal>               
CL_ASSERT( p_bytes_needed );<o:p></o:p></p>

<p class=MsoNormal>@@ -3089,10 +3089,10 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS<o:p></o:p></p>

<p class=MsoNormal> ipoib_oid_handler(<o:p></o:p></p>

<p class=MsoNormal>-    IN     
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT
PNDIS_OID_REQUEST   pNdisRequest)<o:p></o:p></p>

<p class=MsoNormal>+            
IN                          
NDIS_HANDLE                  
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN           OUT
PNDIS_OID_REQUEST         
pNdisRequest)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-   
NDIS_REQUEST_TYPE       RequestType;<o:p></o:p></p>

<p class=MsoNormal>+            
NDIS_REQUEST_TYPE                   
RequestType;<o:p></o:p></p>

<p class=MsoNormal>               
NDIS_STATUS    status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_ENTER( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>@@ -3101,28 +3101,28 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
switch(RequestType)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>-        case
NdisRequestSetInformation:           
<o:p></o:p></p>

<p class=MsoNormal>-           
status = ipoib_set_info(adapter_context, pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>-           
break;<o:p></o:p></p>

<p class=MsoNormal>-               
<o:p></o:p></p>

<p class=MsoNormal>-        case
NdisRequestQueryInformation:<o:p></o:p></p>

<p class=MsoNormal>-        case
NdisRequestQueryStatistics:<o:p></o:p></p>

<p class=MsoNormal>-           
status = ipoib_query_info(adapter_context, pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+                            
case NdisRequestSetInformation:                           
   <o:p></o:p></p>

<p class=MsoNormal>+                                            
status = ipoib_set_info(adapter_context, pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+                                            
break;<o:p></o:p></p>

<p class=MsoNormal>+                                                            
<o:p></o:p></p>

<p class=MsoNormal>+                            
case NdisRequestQueryInformation:<o:p></o:p></p>

<p class=MsoNormal>+                            
case NdisRequestQueryStatistics:<o:p></o:p></p>

<p class=MsoNormal>+                                            
status = ipoib_query_info(adapter_context, pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>                                                                                               
<o:p></o:p></p>

<p class=MsoNormal>-           
break;<o:p></o:p></p>

<p class=MsoNormal>+                                            
break;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-        default:<o:p></o:p></p>

<p class=MsoNormal>-           
status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-     
      break;<o:p></o:p></p>

<p class=MsoNormal>+                            
default:<o:p></o:p></p>

<p class=MsoNormal>+                                            
status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                                            
break;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_EXIT( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>               
return status;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /* Transfers some number of packets, specified as an
array of packet pointers,<o:p></o:p></p>

<p class=MsoNormal>- *  over the network. <o:p></o:p></p>

<p class=MsoNormal>- *  For a deserialized driver, these packets are
completed asynchronously<o:p></o:p></p>

<p class=MsoNormal>- *  using NdisMSendComplete.<o:p></o:p></p>

<p class=MsoNormal>+ *         
over the network. <o:p></o:p></p>

<p class=MsoNormal>+ *         
For a deserialized driver, these packets are completed asynchronously<o:p></o:p></p>

<p class=MsoNormal>+ *         
using NdisMSendComplete.<o:p></o:p></p>

<p class=MsoNormal>  * IRQL <= DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>  @param adapter_context - Pointer to ipoib_adapter_t
structure with per NIC state<o:p></o:p></p>

<p class=MsoNormal>@@ -3132,16 +3132,16 @@<o:p></o:p></p>

<p class=MsoNormal> */<o:p></o:p></p>

<p class=MsoNormal> void<o:p></o:p></p>

<p class=MsoNormal> ipoib_send_net_buffer_list(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
PNET_BUFFER_LIST    net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_PORT_NUMBER    port_num,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
ULONG              
send_flags )<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                 
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNET_BUFFER_LIST        net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
NDIS_PORT_NUMBER   port_num,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
ULONG                                                
send_flags )<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t                              
*p_adapter;<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_port_t                     
*p_port;<o:p></o:p></p>

<p class=MsoNormal>               
ULONG                                                
send_complete_flags;<o:p></o:p></p>

<p class=MsoNormal>-    PNET_BUFFER_LIST   
curr_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>-    PNET_BUFFER_LIST   
next_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>+            
PNET_BUFFER_LIST       
curr_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>+            
PNET_BUFFER_LIST       
next_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>               
NDIS_STATUS    status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>               
<o:p></o:p></p>

<p class=MsoNormal>               
UNREFERENCED_PARAMETER(port_num);<o:p></o:p></p>

<p class=MsoNormal>@@ -3191,9 +3191,9 @@<o:p></o:p></p>

<p class=MsoNormal>                               
ipoib_cnt_inc( &p_adapter->n_send_NBL );<o:p></o:p></p>

<p class=MsoNormal>                               
<o:p></o:p></p>

<p class=MsoNormal>                               
next_net_buffer_list = NET_BUFFER_LIST_NEXT_NBL(curr_net_buffer_list);<o:p></o:p></p>

<p class=MsoNormal>-       
KeMemoryBarrierWithoutFence();<o:p></o:p></p>

<p class=MsoNormal>+                            
KeMemoryBarrierWithoutFence();<o:p></o:p></p>

<p class=MsoNormal>                               
// Important issue, break the connection between the different nbls<o:p></o:p></p>

<p class=MsoNormal>-       
NET_BUFFER_LIST_NEXT_NBL(curr_net_buffer_list) = NULL;<o:p></o:p></p>

<p class=MsoNormal>+                            
NET_BUFFER_LIST_NEXT_NBL(curr_net_buffer_list) = NULL;<o:p></o:p></p>

<p class=MsoNormal>                               
<o:p></o:p></p>

<p class=MsoNormal>                               
cl_perf_start( PortSend );<o:p></o:p></p>

<p class=MsoNormal>                               
IPOIB_PRINT( TRACE_LEVEL_VERBOSE, IPOIB_DBG_BUF,<o:p></o:p></p>

<p class=MsoNormal>@@ -3211,14 +3211,14 @@<o:p></o:p></p>

<p class=MsoNormal>               
cl_perf_log( &p_adapter->perf, SendBundle, 1 );<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> compl_status:<o:p></o:p></p>

<p class=MsoNormal>-    if (status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

<p class=MsoNormal>+            
if (status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>                               
IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>                                                               
("Got bad status, g_NBL=%d, g_NBL_completed=%d \n",<o:p></o:p></p>

<p class=MsoNormal>                                                               
g_NBL, g_NBL_complete) );<o:p></o:p></p>

<p class=MsoNormal>                               
send_complete_flags = 0;<o:p></o:p></p>

<p class=MsoNormal>-             
    <o:p></o:p></p>

<p class=MsoNormal>+                            
<o:p></o:p></p>

<p class=MsoNormal>                               
for (curr_net_buffer_list = net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>                                                               
 curr_net_buffer_list != NULL;<o:p></o:p></p>

<p class=MsoNormal>                                                               
 curr_net_buffer_list = next_net_buffer_list)<o:p></o:p></p>

<p class=MsoNormal>@@ -3277,7 +3277,7 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> VOID<o:p></o:p></p>

<p class=MsoNormal> ipoib_shutdown_ex(<o:p></o:p></p>

<p class=MsoNormal>-             
IN NDIS_HANDLE  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN
NDIS_HANDLE            
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>               
IN NDIS_SHUTDOWN_ACTION  shutdown_action)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_ENTER( IPOIB_DBG_INIT ) ;<o:p></o:p></p>

<p class=MsoNormal>@@ -3562,16 +3562,16 @@<o:p></o:p></p>

<p class=MsoNormal>                                               
// otherwise, it can lead to a memory violation (happened when AddressCount was
> 1)<o:p></o:p></p>

<p class=MsoNormal>                                               
if( p_net_addr_oid->AddressLength != NETWORK_ADDRESS_LENGTH_IP)<o:p></o:p></p>

<p class=MsoNormal>                                               
{<o:p></o:p></p>

<p class=MsoNormal>-                                                             
IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+                                                            
IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>                                                                               
("Port %d OID_GEN_NETWORK_LAYER_ADDRESSES - Address %d is wrong size of
%d, "<o:p></o:p></p>

<p class=MsoNormal>                                                                                               
"should be %d\n", port_num, i, p_net_addr_oid->AddressLength,<o:p></o:p></p>

<p class=MsoNormal>                                                                                               
NETWORK_ADDRESS_LENGTH_IP));<o:p></o:p></p>

<p class=MsoNormal>                                                               
ASSERT ( p_net_addr_oid->AddressLength == NETWORK_ADDRESS_LENGTH_IPX );<o:p></o:p></p>

<p class=MsoNormal>                                                               
break;<o:p></o:p></p>

<p class=MsoNormal>                                               
}<o:p></o:p></p>

<p class=MsoNormal>-<o:p></o:p></p>

<p class=MsoNormal>+                                            
<o:p></o:p></p>

<p class=MsoNormal>                                               
ASSERT( p_net_addr_oid->AddressType == NDIS_PROTOCOL_ID_TCP_IP );<o:p></o:p></p>

<p class=MsoNormal>-<o:p></o:p></p>

<p class=MsoNormal>+                                            
<o:p></o:p></p>

<p class=MsoNormal>                                               
p_ip_addr = (PNETWORK_ADDRESS_IP)p_net_addr_oid->Address;<o:p></o:p></p>

<p class=MsoNormal>                                               
if( !cl_memcmp( &p_ip_addr->in_addr,<o:p></o:p></p>

<p class=MsoNormal>                                                               
&p_addr_item->address.as_ulong, sizeof(ULONG) ) )<o:p></o:p></p>

<p class=MsoNormal>@@ -3737,7 +3737,7 @@<o:p></o:p></p>

<p class=MsoNormal>               
if(p_adapter->guids.port_guid.pkey != IB_DEFAULT_PKEY)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
IPOIB_PRINT_EXIT( TRACE_LEVEL_ERROR,IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-                             
("ATS Service available for default pkey only\n"));     
<o:p></o:p></p>

<p class=MsoNormal>+                            
("ATS Service available for default pkey only\n"));
            <o:p></o:p></p>

<p class=MsoNormal>                               
return;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>               
port_num = p_adapter->guids.port_num;<o:p></o:p></p>

<p class=MsoNormal>@@ -3761,7 +3761,7 @@<o:p></o:p></p>

<p class=MsoNormal>                               
("Problem copying ATS name: exiting\n"));<o:p></o:p></p>

<p class=MsoNormal>                               
return;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>               
/* IP Address in question will be put in below */<o:p></o:p></p>

<p class=MsoNormal>               
ib_service.port_guid                     
= p_adapter->guids.port_guid.guid;<o:p></o:p></p>

<p class=MsoNormal>               
ib_service.timeout_ms                
= p_adapter->params.sa_timeout;<o:p></o:p></p>

<p class=MsoNormal>@@ -3786,7 +3786,7 @@<o:p></o:p></p>

<p class=MsoNormal>               
for( idx = 0; idx < cl_vector_get_size( &p_adapter->ip_vector); idx++
)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
p_addr_item = (net_address_item_t*)<o:p></o:p></p>

<p class=MsoNormal>-                                             
cl_vector_get_ptr(  &p_adapter->ip_vector, idx );<o:p></o:p></p>

<p class=MsoNormal>+                                            
cl_vector_get_ptr(         
&p_adapter->ip_vector, idx );<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>                               
if( p_addr_item->p_reg )<o:p></o:p></p>

<p class=MsoNormal>                                               
continue;<o:p></o:p></p>

<p class=MsoNormal>@@ -3972,8 +3972,8 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS <o:p></o:p></p>

<p class=MsoNormal> ipoib_pause(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN 
PNDIS_MINIPORT_PAUSE_PARAMETERS     pause_parameters)<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                                                                                 
adapter_context,           
<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNDIS_MINIPORT_PAUSE_PARAMETERS
           
pause_parameters)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t                              
*p_adapter;<o:p></o:p></p>

<p class=MsoNormal>               
KLOCK_QUEUE_HANDLE             
hdl;<o:p></o:p></p>

<p class=MsoNormal>@@ -4009,26 +4009,26 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> static NDIS_STATUS <o:p></o:p></p>

<p class=MsoNormal> ipoib_restart(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN 
PNDIS_MINIPORT_RESTART_PARAMETERS   restart_parameters)<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                                                                                 
adapter_context,           
<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PNDIS_MINIPORT_RESTART_PARAMETERS        
restart_parameters)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t                              
*p_adapter;<o:p></o:p></p>

<p class=MsoNormal>               
KLOCK_QUEUE_HANDLE             
hdl;<o:p></o:p></p>

<p class=MsoNormal>-   
PNDIS_RESTART_ATTRIBUTES     NdisRestartAttributes;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_RESTART_GENERAL_ATTRIBUTES 
NdisGeneralAttributes;<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_RESTART_ATTRIBUTES    NdisRestartAttributes;<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_RESTART_GENERAL_ATTRIBUTES  NdisGeneralAttributes;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_ENTER( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal>               
p_adapter = (ipoib_adapter_t*)adapter_context;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
NdisRestartAttributes = restart_parameters->RestartAttributes;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    if (NdisRestartAttributes != NULL)<o:p></o:p></p>

<p class=MsoNormal>-    {<o:p></o:p></p>

<p class=MsoNormal>-       
CL_ASSERT(NdisRestartAttributes->Oid ==
OID_GEN_MINIPORT_RESTART_ATTRIBUTES);<o:p></o:p></p>

<p class=MsoNormal>-       
NdisGeneralAttributes = (PNDIS_RESTART_GENERAL_ATTRIBUTES)NdisRestartAttributes->Data;  
<o:p></o:p></p>

<p class=MsoNormal>-        //<o:p></o:p></p>

<p class=MsoNormal>-        // Check to see
if we need to change any attributes<o:p></o:p></p>

<p class=MsoNormal>-    }<o:p></o:p></p>

<p class=MsoNormal>+            
if (NdisRestartAttributes != NULL)<o:p></o:p></p>

<p class=MsoNormal>+            
{<o:p></o:p></p>

<p class=MsoNormal>+                            
CL_ASSERT(NdisRestartAttributes->Oid == OID_GEN_MINIPORT_RESTART_ATTRIBUTES);<o:p></o:p></p>

<p class=MsoNormal>+                            
NdisGeneralAttributes =
(PNDIS_RESTART_GENERAL_ATTRIBUTES)NdisRestartAttributes->Data;            
<o:p></o:p></p>

<p class=MsoNormal>+                            
//<o:p></o:p></p>

<p class=MsoNormal>+                            
// Check to see if we need to change any attributes<o:p></o:p></p>

<p class=MsoNormal>+            
}<o:p></o:p></p>

<p class=MsoNormal>               
<o:p></o:p></p>

<p class=MsoNormal>               
if ( (p_adapter->ipoib_state == IPOIB_PAUSED) || (p_adapter->ipoib_state
== IPOIB_INIT) ) {<o:p></o:p></p>

<p class=MsoNormal>                               
IPOIB_PRINT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_RECV,<o:p></o:p></p>

<p class=MsoNormal>@@ -4046,37 +4046,37 @@<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_EXIT( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal>-    return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+            
return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> /*++<o:p></o:p></p>

<p class=MsoNormal> Routine Description:<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    This function aborts the request pending
in the miniport.<o:p></o:p></p>

<p class=MsoNormal>+            
This function aborts the request pending in the miniport.<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal> Arguments:<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    MiniportAdapterContext  Pointer to
the adapter structure<o:p></o:p></p>

<p class=MsoNormal>-   
RequestId              
Specify the request to be cancelled.<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
MiniportAdapterContext            
Pointer to the adapter structure<o:p></o:p></p>

<p class=MsoNormal>+            
RequestId                                                          
Specify the request to be cancelled.<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> Return Value:<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal> --*/<o:p></o:p></p>

<p class=MsoNormal> static void<o:p></o:p></p>

<p class=MsoNormal> ipoib_cancel_oid_request(<o:p></o:p></p>

<p class=MsoNormal>-    IN 
NDIS_HANDLE           
adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN 
PVOID                 
requestId<o:p></o:p></p>

<p class=MsoNormal>-    )<o:p></o:p></p>

<p class=MsoNormal>+            
IN           NDIS_HANDLE
                 
   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+            
IN          
PVOID                                                  
   requestId<o:p></o:p></p>

<p class=MsoNormal>+            
)<o:p></o:p></p>

<p class=MsoNormal> {<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OID_REQUEST   
pending_request;<o:p></o:p></p>

<p class=MsoNormal>+            
PNDIS_OID_REQUEST    pending_request;<o:p></o:p></p>

<p class=MsoNormal>               
ipoib_adapter_t                              
*p_adapter;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>               
IPOIB_ENTER( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>               
p_adapter = (ipoib_adapter_t*)adapter_context;<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    cl_obj_lock( &p_adapter->obj );<o:p></o:p></p>

<p class=MsoNormal>-    <o:p></o:p></p>

<p class=MsoNormal>-    if (
p_adapter->query_oid.p_pending_oid &&<o:p></o:p></p>

<p class=MsoNormal>+            
cl_obj_lock( &p_adapter->obj );<o:p></o:p></p>

<p class=MsoNormal>+            
<o:p></o:p></p>

<p class=MsoNormal>+            
if ( p_adapter->query_oid.p_pending_oid &&<o:p></o:p></p>

<p class=MsoNormal>                               
p_adapter->query_oid.p_pending_oid->RequestId == requestId)<o:p></o:p></p>

<p class=MsoNormal>               
{<o:p></o:p></p>

<p class=MsoNormal>                               
pending_request = p_adapter->query_oid.p_pending_oid;<o:p></o:p></p>

<p class=MsoNormal>@@ -4097,11 +4097,11 @@<o:p></o:p></p>

<p class=MsoNormal>                               
("No Pending OID found\n") );<o:p></o:p></p>

<p class=MsoNormal>                               
return;<o:p></o:p></p>

<p class=MsoNormal>               
}<o:p></o:p></p>

<p class=MsoNormal>-    cl_obj_unlock( &p_adapter->obj );<o:p></o:p></p>

<p class=MsoNormal>+            
cl_obj_unlock( &p_adapter->obj );<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-   
NdisMOidRequestComplete(p_adapter->h_adapter, <o:p></o:p></p>

<p class=MsoNormal>-            
               pending_request,
<o:p></o:p></p>

<p class=MsoNormal>-                           
NDIS_STATUS_REQUEST_ABORTED);<o:p></o:p></p>

<p class=MsoNormal>+            
NdisMOidRequestComplete(p_adapter->h_adapter, <o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
pending_request, <o:p></o:p></p>

<p class=MsoNormal>+                                                                                                            
NDIS_STATUS_REQUEST_ABORTED);<o:p></o:p></p>

<p class=MsoNormal> <o:p></o:p></p>

<p class=MsoNormal>-    IPOIB_EXIT( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>+            
IPOIB_EXIT( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal> }<o:p></o:p></p>

</div>

</body>

</html>