[IPOIB] fix bug : release lock in error flows
authorsleybo <sleybo@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 6 Mar 2007 13:03:18 +0000 (13:03 +0000)
committersleybo <sleybo@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 6 Mar 2007 13:03:18 +0000 (13:03 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@606 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

ulp/ipoib/kernel/ipoib_port.c

index 8cf05c4..8a5898d 100644 (file)
@@ -1775,6 +1775,7 @@ __recv_get_endpts(
                        status = __endpt_mgr_insert( p_port, mac, *pp_src );\r
                        if( status != IB_SUCCESS )\r
                        {\r
+                               cl_obj_unlock( &p_port->obj );\r
                                IPOIB_PRINT_EXIT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,\r
                                        ("__endpt_mgr_insert returned %s\n",\r
                                        p_port->p_adapter->p_ifc->get_err_str( status )) );\r
@@ -2356,6 +2357,7 @@ __recv_arp(
                status = __endpt_mgr_insert( p_port, mac, *pp_src );\r
                if( status != IB_SUCCESS )\r
                {\r
+                       cl_obj_unlock( &p_port->obj );\r
                        IPOIB_PRINT_EXIT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,\r
                                ("__endpt_mgr_insert return %s \n",\r
                                p_port->p_adapter->p_ifc->get_err_str( status )) );\r