[IPOIB] fix bug : release lock in error flows
[mirror/winof/.git] / 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