From 8a64a7f2295ab5bb467bf4298e1af5528b93fced Mon Sep 17 00:00:00 2001 From: tzachid Date: Wed, 15 Oct 2008 15:10:19 +0000 Subject: [PATCH] [ipoib] Return the link speed even if the link is down. (mlnx: 3304) git-svn-id: svn://openib.tc.cornell.edu/gen1@1649 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- .../trunk/ulp/ipoib/kernel/ipoib_adapter.c | 8 ++--- .../trunk/ulp/ipoib/kernel/ipoib_adapter.h | 2 +- .../trunk/ulp/ipoib/kernel/ipoib_driver.c | 34 ++----------------- 3 files changed, 7 insertions(+), 37 deletions(-) diff --git a/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.c b/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.c index 53014195..d84574f1 100644 --- a/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.c +++ b/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.c @@ -306,7 +306,7 @@ adapter_construct( 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 @@ ipoib_set_rate( rate = 0; } - p_adapter->rate = rate; + p_adapter->port_rate = rate; IPOIB_EXIT( IPOIB_DBG_INIT ); } @@ -1124,8 +1124,8 @@ ipoib_set_active( */ 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 ) { diff --git a/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.h b/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.h index 84425e94..a20e3fb0 100644 --- a/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.h +++ b/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_adapter.h @@ -168,7 +168,7 @@ typedef struct _ipoib_adapter struct _ipoib_port *p_port; - uint32_t rate; + uint32_t port_rate; ipoib_params_t params; cl_spinlock_t recv_stat_lock; diff --git a/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_driver.c b/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_driver.c index 40d5c379..2e5cd881 100644 --- a/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_driver.c +++ b/branches/WOF2-0/trunk/ulp/ipoib/kernel/ipoib_driver.c @@ -955,31 +955,7 @@ ipoib_query_info( 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 @@ ipoib_resume_oids( { 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 @@ ipoib_resume_oids( 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; } } -- 2.41.0