<!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>