<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16587" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=366221015-15102008><FONT face=Arial color=#0000ff 
size=2>Applied on 1649, 1650</FONT></SPAN></DIV>
<DIV><SPAN class=366221015-15102008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=366221015-15102008><FONT face=Arial color=#0000ff 
size=2>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=366221015-15102008><FONT face=Arial color=#0000ff 
size=2>Tzachi</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> ofw-bounces@lists.openfabrics.org 
  [mailto:ofw-bounces@lists.openfabrics.org] <B>On Behalf Of </B>Tzachi 
  Dar<BR><B>Sent:</B> Sunday, October 12, 2008 2:53 PM<BR><B>To:</B> 
  ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw] Patch: ipoib should always 
  answer the OID_GEN_LINK_SPEED<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV><FONT face=Arial size=2><SPAN class=720365012-12102008>This patch makes 
  sure that ipoib will not answer with pending the query of 
  OID_GEN_LINK_SPEED</SPAN></FONT></DIV>
  <DIV><FONT face=Arial size=2><SPAN 
  class=720365012-12102008></SPAN></FONT> </DIV>
  <DIV><FONT face=Arial size=2><SPAN 
  class=720365012-12102008>Thanks</SPAN></FONT></DIV>
  <DIV><FONT face=Arial size=2><SPAN 
  class=720365012-12102008>Tzachi</SPAN></FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>Index: 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.c<BR>===================================================================<BR>--- 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.c (revision 3303)<BR>+++ 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.c (revision 3304)<BR>@@ 
  -306,7 +306,7 @@<BR>  cl_perf_construct( &p_adapter->perf 
  );<BR> <BR>  p_adapter->state = 
  IB_PNP_PORT_ADD;<BR>- p_adapter->rate = 
  FOUR_X_IN_100BPS;<BR>+ p_adapter->port_rate = 
  FOUR_X_IN_100BPS;<BR> }<BR> <BR> <BR>@@ -1065,7 +1065,7 
  @@<BR>   rate = 
  0;<BR>  }<BR> <BR>- p_adapter->rate = 
  rate;<BR>+ p_adapter->port_rate = rate;<BR>  IPOIB_EXIT( 
  IPOIB_DBG_INIT );<BR> }<BR> <BR>@@ -1124,8 +1124,8 
  @@<BR>    */<BR>   IPOIB_PRINT( 
  TRACE_LEVEL_INFORMATION, IPOIB_DBG_INIT, ("Link UP!\n") 
  );<BR>   NdisWriteErrorLogEntry( 
  p_adapter->h_adapter,<BR>-   EVENT_IPOIB_PORT_UP + 
  (p_adapter->rate/ONE_X_IN_100BPS),<BR>-   1, 
  p_adapter->rate );<BR>+   EVENT_IPOIB_PORT_UP + 
  (p_adapter->port_rate/ONE_X_IN_100BPS),<BR>+   1, 
  p_adapter->port_rate );<BR> <BR>   if( 
  !p_adapter->reset )<BR>   {<BR>Index: 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.h<BR>===================================================================<BR>--- 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.h (revision 3303)<BR>+++ 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.h (revision 3304)<BR>@@ 
  -168,7 +168,7 @@<BR> <BR>  struct 
  _ipoib_port  *p_port;<BR> <BR>- uint32_t    rate;<BR>+ uint32_t    port_rate;<BR> <BR>  ipoib_params_t   params;<BR>  cl_spinlock_t   recv_stat_lock;<BR>Index: 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_driver.c<BR>===================================================================<BR>--- 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_driver.c (revision 3303)<BR>+++ 
  Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_driver.c (revision 3304)<BR>@@ 
  -955,31 +955,7 @@<BR>   IPOIB_PRINT( 
  TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,<BR>    ("Port %d 
  received query for OID_GEN_LINK_SPEED\n", port_num) 
  );<BR>   cl_obj_lock( &p_adapter->obj 
  );<BR>-  switch( p_adapter->state 
  )<BR>-  {<BR>-  case 
  IB_PNP_PORT_ADD:<BR>-   /* Mark the adapter as pending an OID 
  */<BR>-   p_adapter->pending_query = 
  TRUE;<BR>-<BR>-   /* Save the request parameters. 
  */<BR>-   p_adapter->query_oid = 
  oid_info;<BR>-<BR>-   IPOIB_PRINT( 
  TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,<BR>-    ("Port %d 
  returning NDIS_STATUS_PENDING\n", port_num) );<BR>-   status = 
  NDIS_STATUS_PENDING;<BR>-   break;<BR>-<BR>-  case 
  IB_PNP_PORT_REMOVE:<BR>-   IPOIB_PRINT( 
  TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,<BR>-    ("Port %d 
  returning NDIS_STATUS_NOT_ACCEPTED\n", port_num) 
  );<BR>-   status = 
  NDIS_STATUS_NOT_ACCEPTED;<BR>-   break;<BR>-<BR>-  default:<BR>-   CL_ASSERT( 
  p_adapter->p_port );<BR>-   info = 
  p_adapter->rate;<BR>-   break;<BR>-  }<BR>+  info 
  = p_adapter->port_rate;<BR>   cl_obj_unlock( 
  &p_adapter->obj );<BR>   break;<BR> <BR>@@ -2016,11 
  +1992,6 @@<BR>  {<BR>   switch( query_oid.oid 
  )<BR>   {<BR>-  case 
  OID_GEN_LINK_SPEED:<BR>-   ipoib_complete_query( p_adapter, 
  &query_oid,<BR>-    status, &p_adapter->rate, 
  sizeof(p_adapter->rate) 
  );<BR>-   break;<BR>-<BR>   case 
  OID_GEN_MEDIA_CONNECT_STATUS:<BR>    info = 
  NdisMediaStateConnected;<BR>    ipoib_complete_query( 
  p_adapter, &query_oid,<BR>@@ -2028,8 +1999,7 
  @@<BR>    break;<BR> <BR>   default:<BR>-   CL_ASSERT( 
  query_oid.oid == OID_GEN_LINK_SPEED 
  ||<BR>-    query_oid.oid == OID_GEN_MEDIA_CONNECT_STATUS 
  );<BR>+   CL_ASSERT( query_oid.oid == 
  OID_GEN_MEDIA_CONNECT_STATUS 
  );<BR>    break;<BR>   }<BR>  }<BR></DIV></BLOCKQUOTE></FONT></BODY></HTML>