<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18702"></HEAD>
<BODY>
<DIV><SPAN class=700240810-26012010><FONT color=#0000ff size=2
face=Arial>Applied on 2682,2683</FONT></SPAN></DIV>
<DIV><SPAN class=700240810-26012010><FONT color=#0000ff size=2
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=700240810-26012010><FONT color=#0000ff size=2
face=Arial>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=700240810-26012010><FONT color=#0000ff size=2
face=Arial>Tzachi</FONT></SPAN></DIV><BR>
<BLOCKQUOTE
style="BORDER-LEFT: #0000ff 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px"
dir=ltr>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><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, January 24, 2010 3:42 PM<BR><B>To:</B>
ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw] patch: Release hca
interface when loading of ibal fails<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT size=2 face=Arial><SPAN class=620373913-24012010>While debugging
another failure I have found out that if ib_register_ca fails it is not
possibale to try again until the computer is rebooted.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial><SPAN
class=620373913-24012010></SPAN></FONT> </DIV>
<DIV><FONT size=2 face=Arial><SPAN class=620373913-24012010>This patch solves
this problem.</SPAN></FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Index:
bus/kernel/bus_pnp.c<BR>===================================================================<BR>---
bus/kernel/bus_pnp.c (revision 5503)<BR>+++
bus/kernel/bus_pnp.c (working copy)<BR>@@ -428,6 +428,10
@@<BR> {<BR> BUS_TRACE_EXIT( BUS_DBG_ERROR,
("ib_register_ca returned
%s.\n",<BR> ib_get_err_str(ib_status))
);<BR>+ p_ext->hca_ifc.InterfaceHeader.InterfaceDereference(<BR>+ p_ext->hca_ifc.InterfaceHeader.Context);<BR>+ p_ext->hca_ifc_taken
= FALSE;<BR>+ <BR> return
STATUS_UNSUCCESSFUL;<BR> }<BR> BUS_TRACE_EXIT(BUS_DBG_PNP,
("%s bound to CA guid %I64x\n",<BR>Index:
complib/kernel/cl_pnp_po.c<BR>===================================================================<BR>---
complib/kernel/cl_pnp_po.c (revision 5503)<BR>+++
complib/kernel/cl_pnp_po.c (working copy)<BR>@@ -429,8 +429,15
@@<BR> CL_ENTER( CL_DBG_PNP, p_ext->dbg_lvl
);<BR> <BR> status = p_ext->vfptr_pnp_po->pfn_start(
p_dev_obj, p_irp, p_action );<BR>- if( NT_SUCCESS( status )
)<BR>+ if( NT_SUCCESS( status ) )
<BR>+ {<BR> cl_set_pnp_state( p_ext, Started
);<BR>+ } <BR>+ else<BR>+ {<BR>+ CL_TRACE(
CL_DBG_ERROR, p_ext->dbg_lvl,
<BR>+ ("p_ext->vfptr_pnp_po->pfn_start returned %08x.
\n", status) );<BR>+ }<BR> <BR> CL_EXIT( CL_DBG_PNP,
p_ext->dbg_lvl );<BR> return
status;<BR></DIV></BLOCKQUOTE></FONT></BODY></HTML>