[ofw] Patch: ipoib should always answer the OID_GEN_LINK_SPEED
Tzachi Dar
tzachid at mellanox.co.il
Sun Oct 12 05:52:38 PDT 2008
This patch makes sure that ipoib will not answer with pending the query
of OID_GEN_LINK_SPEED
Thanks
Tzachi
Index: Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.c
===================================================================
--- Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.c (revision 3303)
+++ Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.c (revision 3304)
@@ -306,7 +306,7 @@
cl_perf_construct( &p_adapter->perf );
p_adapter->state = IB_PNP_PORT_ADD;
- p_adapter->rate = FOUR_X_IN_100BPS;
+ p_adapter->port_rate = FOUR_X_IN_100BPS;
}
@@ -1065,7 +1065,7 @@
rate = 0;
}
- p_adapter->rate = rate;
+ p_adapter->port_rate = rate;
IPOIB_EXIT( IPOIB_DBG_INIT );
}
@@ -1124,8 +1124,8 @@
*/
IPOIB_PRINT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_INIT, ("Link UP!\n")
);
NdisWriteErrorLogEntry( p_adapter->h_adapter,
- EVENT_IPOIB_PORT_UP + (p_adapter->rate/ONE_X_IN_100BPS),
- 1, p_adapter->rate );
+ EVENT_IPOIB_PORT_UP + (p_adapter->port_rate/ONE_X_IN_100BPS),
+ 1, p_adapter->port_rate );
if( !p_adapter->reset )
{
Index: Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.h
===================================================================
--- Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.h (revision 3303)
+++ Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_adapter.h (revision 3304)
@@ -168,7 +168,7 @@
struct _ipoib_port *p_port;
- uint32_t rate;
+ uint32_t port_rate;
ipoib_params_t params;
cl_spinlock_t recv_stat_lock;
Index: Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_driver.c
===================================================================
--- Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_driver.c (revision 3303)
+++ Q:/projinf4/trunk/ulp/ipoib/kernel/ipoib_driver.c (revision 3304)
@@ -955,31 +955,7 @@
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
("Port %d received query for OID_GEN_LINK_SPEED\n", port_num) );
cl_obj_lock( &p_adapter->obj );
- switch( p_adapter->state )
- {
- case IB_PNP_PORT_ADD:
- /* Mark the adapter as pending an OID */
- p_adapter->pending_query = TRUE;
-
- /* Save the request parameters. */
- p_adapter->query_oid = oid_info;
-
- IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d returning NDIS_STATUS_PENDING\n", port_num) );
- status = NDIS_STATUS_PENDING;
- break;
-
- case IB_PNP_PORT_REMOVE:
- IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d returning NDIS_STATUS_NOT_ACCEPTED\n", port_num) );
- status = NDIS_STATUS_NOT_ACCEPTED;
- break;
-
- default:
- CL_ASSERT( p_adapter->p_port );
- info = p_adapter->rate;
- break;
- }
+ info = p_adapter->port_rate;
cl_obj_unlock( &p_adapter->obj );
break;
@@ -2016,11 +1992,6 @@
{
switch( query_oid.oid )
{
- case OID_GEN_LINK_SPEED:
- ipoib_complete_query( p_adapter, &query_oid,
- status, &p_adapter->rate, sizeof(p_adapter->rate) );
- break;
-
case OID_GEN_MEDIA_CONNECT_STATUS:
info = NdisMediaStateConnected;
ipoib_complete_query( p_adapter, &query_oid,
@@ -2028,8 +1999,7 @@
break;
default:
- CL_ASSERT( query_oid.oid == OID_GEN_LINK_SPEED ||
- query_oid.oid == OID_GEN_MEDIA_CONNECT_STATUS );
+ CL_ASSERT( query_oid.oid == OID_GEN_MEDIA_CONNECT_STATUS );
break;
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20081012/046479b8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib_link_speed.patch
Type: application/octet-stream
Size: 3276 bytes
Desc: ipoib_link_speed.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20081012/046479b8/attachment.obj>
More information about the ofw
mailing list