<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:x = 
"urn:schemas-microsoft-com:office:excel" xmlns:p = 
"urn:schemas-microsoft-com:office:powerpoint" xmlns:a = 
"urn:schemas-microsoft-com:office:access" xmlns:dt = 
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s = 
"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs = 
"urn:schemas-microsoft-com:rowset" xmlns:z = "#RowsetSchema" xmlns:b = 
"urn:schemas-microsoft-com:office:publisher" xmlns:ss = 
"urn:schemas-microsoft-com:office:spreadsheet" xmlns:c = 
"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc = 
"urn:schemas-microsoft-com:office:odc" xmlns:oa = 
"urn:schemas-microsoft-com:office:activation" xmlns:html = 
"http://www.w3.org/TR/REC-html40" xmlns:q = 
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc = 
"http://microsoft.com/officenet/conferencing" XMLNS:D = "DAV:" XMLNS:Repl = 
"http://schemas.microsoft.com/repl/" xmlns:mt = 
"http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2 = 
"http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda = 
"http://www.passport.com/NameSpace.xsd" xmlns:ois = 
"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir = 
"http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds = 
"http://www.w3.org/2000/09/xmldsig#" xmlns:dsp = 
"http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc = 
"http://schemas.microsoft.com/data/udc" xmlns:xsd = 
"http://www.w3.org/2001/XMLSchema" xmlns:sub = 
"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec = 
"http://www.w3.org/2001/04/xmlenc#" xmlns:sp = 
"http://schemas.microsoft.com/sharepoint/" xmlns:sps = 
"http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi = 
"http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs = 
"http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf = 
"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p = 
"http://schemas.microsoft.com/data/udc/parttopart" xmlns:st = "" xmlns:ns3 = 
"http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:ns4 = 
"http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:ns5 = 
"http://schemas.microsoft.com/office/2006/digsig" xmlns:ns6 = 
"http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:ns7 = 
"http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ns0 = 
"http://schemas.microsoft.com/office/2004/12/omml" xmlns:ns8 = 
"http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ns9 = 
"http://microsoft.com/sharepoint/webpartpages" xmlns:ns10 = 
"http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ns11 = 
"http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:ns12 = 
"http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:ns13 = 
"http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" 
xmlns:ns14 = "urn:schemas-microsoft-com:"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3243" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: SimSun;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: @SimSun;
}
@font-face {
        font-family: Calibri;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
A:link {
        mso-style-priority: 99
}
SPAN.MSOHYPERLINK {
        mso-style-priority: 99
}
A:visited {
        mso-style-priority: 99
}
SPAN.MSOHYPERLINKFOLLOWED {
        mso-style-priority: 99
}
P.MSOACETATE {
        mso-style-priority: 99
}
LI.MSOACETATE {
        mso-style-priority: 99
}
DIV.MSOACETATE {
        mso-style-priority: 99
}
P.MSOLISTPARAGRAPH {
        mso-style-priority: 34
}
LI.MSOLISTPARAGRAPH {
        mso-style-priority: 34
}
DIV.MSOLISTPARAGRAPH {
        mso-style-priority: 34
}
SPAN.BALLOONTEXTCHAR {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR0 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR00 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR0000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR00000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR000000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR0000000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR00000000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR000000000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR0000000000 {
        mso-style-priority: 99
}
SPAN.BALLOONTEXTCHAR00000000000 {
        mso-style-priority: 99
}
P.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri
}
LI.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri
}
DIV.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Calibri
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
PRE {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Courier New"
}
P.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Tahoma
}
LI.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Tahoma
}
DIV.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Tahoma
}
P.msolistparagraph {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt 0.5in; FONT-FAMILY: Calibri
}
LI.msolistparagraph {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt 0.5in; FONT-FAMILY: Calibri
}
DIV.msolistparagraph {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt 0.5in; FONT-FAMILY: Calibri
}
P.sp27233607 {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.sp27233607 {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.sp27233607 {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
P.normaltimesnewroman {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; COLOR: blue; FONT-FAMILY: Arial
}
LI.normaltimesnewroman {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; COLOR: blue; FONT-FAMILY: Arial
}
DIV.normaltimesnewroman {
        FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; COLOR: blue; FONT-FAMILY: Arial
}
SPAN.balloontextchar {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar0 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar00 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar0000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar00000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar000000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar0000000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar00000000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar000000000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar0000000000 {
        FONT-FAMILY: Tahoma
}
SPAN.balloontextchar00000000000 {
        FONT-FAMILY: Tahoma
}
SPAN.EmailStyle33 {
        COLOR: windowtext; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle34 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle35 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle36 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle37 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle38 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle39 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle40 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle41 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle42 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle43 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle44 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle45 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle46 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle47 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle48 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle49 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle50 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle51 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle52 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.sc272533 {
        FONT-WEIGHT: bold; COLOR: black
}
SPAN.sc272503 {
        COLOR: black
}
SPAN.EmailStyle55 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle56 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle57 {
        COLOR: #1f497d; FONT-FAMILY: Calibri; mso-style-type: personal
}
SPAN.EmailStyle58 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle59 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle60 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle61 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle62 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle63 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle64 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle65 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle66 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle67 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle68 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle69 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle71 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=687165017-01062009>The 
patch set a default device information into all new devices, created by 
partition manager.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=687165017-01062009>The 
patch also renames _Create_Static_Devices to __create_static_devices for style 
consistency.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>Index: 
bus/kernel/bus_driver.c<BR>===================================================================<BR>--- 
bus/kernel/bus_driver.c (revision 2223)<BR>+++ 
bus/kernel/bus_driver.c (working copy)<BR>@@ -124,7 +124,39 
@@<BR>  IN    UNICODE_STRING    *p_registry_path 
);<BR> <BR> <BR>+child_device_info_t 
g_default_device_info;<BR> <BR>+static void 
__create_default_dev_info(child_device_info_t 
*pNewDevList)<BR>+{<BR>+ UNICODE_STRING    keyValue;<BR>+<BR>+ /* 
DeviceId*/<BR>+ RtlInitUnicodeString(&keyValue, 
L"IBA\\IPoIBP\0");  <BR>+ pNewDevList->device_id_size = 
keyValue.Length + sizeof(WCHAR);<BR>+ RtlStringCchCopyW( 
pNewDevList->device_id, 
<BR>+  sizeof(pNewDevList->device_id)/sizeof(wchar_t), 
keyValue.Buffer );<BR>+ /* 
HardwareId*/<BR>+ RtlInitUnicodeString(&keyValue, 
L"IBA\\IPoIBP\0\0"); <BR>+ pNewDevList->hardware_id_size = 
keyValue.Length + 2*sizeof(WCHAR);<BR>+ RtlStringCchCopyW( 
pNewDevList->hardware_id, 
<BR>+  sizeof(pNewDevList->hardware_id)/sizeof(wchar_t), 
keyValue.Buffer );<BR>+ /* 
CompatibleId*/<BR>+ RtlInitUnicodeString(&keyValue, 
L"IBA\\SID_1000066a00020000\0\0"); <BR>+ pNewDevList->compatible_id_size 
= keyValue.Length + 2*sizeof(WCHAR); //2 <BR>+ RtlStringCchCopyW( 
pNewDevList->compatible_id, 
<BR>+  sizeof(pNewDevList->compatible_id)/sizeof(wchar_t), 
keyValue.Buffer );<BR>+ /* Device Description 
*/<BR>+ RtlInitUnicodeString(&keyValue, L"OpenIB IPoIB 
Adapter");<BR>+ pNewDevList->description_size = keyValue.Length + 
sizeof(WCHAR);<BR>+ RtlStringCchCopyW( pNewDevList->description, 
<BR>+  sizeof(pNewDevList->description)/sizeof(wchar_t), 
keyValue.Buffer );<BR>+ /* Pkey 
*/<BR>+ RtlInitUnicodeString(&keyValue, L"FFFF");  /* Pkey 
*/<BR>+ RtlStringCchCopyW( pNewDevList->pkey, 
<BR>+  sizeof(pNewDevList->pkey)/sizeof(wchar_t), keyValue.Buffer 
);<BR>+}<BR>+<BR>+<BR> static void<BR> __read_machine_name( void 
)<BR> {<BR>@@ -250,8 +282,7 
@@<BR> <BR> }<BR> <BR>-<BR>-NTSTATUS 
_Create_Static_Devices(PUNICODE_STRING p_param_path)<BR>+static NTSTATUS 
__create_static_devices(PUNICODE_STRING 
p_param_path)<BR> {<BR>  RTL_QUERY_REGISTRY_TABLE table[2];<BR>  UNICODE_STRING    keyPath;<BR>@@ 
-273,7 +304,7 @@<BR>  {<BR>   BUS_TRACE(BUS_DBG_ERROR 
,("Not enough memory for key_path_buffer.\n") );<BR>   status = 
STATUS_UNSUCCESSFUL;<BR>-  goto 
_Create_Static_Devices_exit;<BR>+  goto 
__create_static_devices_exit;<BR>  }<BR> <BR>  key_value_buffer 
= key_path_buffer + BUF_SIZE;<BR>@@ -325,7 +356,7 
@@<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Not enough memory for key_path_buffer.\n") 
);<BR>     status = 
STATUS_UNSUCCESSFUL;<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR>    pNewDevList->next_device_info 
= NULL;<BR> <BR>@@ -358,7 +389,7 
@@<BR>    if(!NT_SUCCESS(status))<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Failed to read DeviceId.\n") );<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR>    pNewDevList->io_device_info.device_id_size 
= keyValue.Length + sizeof(WCHAR);<BR> <BR>@@ -381,7 +412,7 
@@<BR>    if(!NT_SUCCESS(status))<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Failed to read HardwareId.\n") );<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR>    pNewDevList->io_device_info.hardware_id_size 
= keyValue.Length + 2*sizeof(WCHAR);<BR> <BR>@@ -404,7 +435,7 
@@<BR>    if(!NT_SUCCESS(status))<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Failed to read CompatibleId.\n") );<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR>    pNewDevList->io_device_info.compatible_id_size 
= keyValue.Length + 2*sizeof(WCHAR); //2 null<BR> <BR>@@ -427,7 +458,7 
@@<BR>    if(!NT_SUCCESS(status))<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Failed to read Description.\n") );<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR> <BR>    pNewDevList->io_device_info.description_size 
= keyValue.Length + sizeof(WCHAR);<BR>@@ -441,7 +472,7 
@@<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Id or description size is too big.\n") 
);<BR>     status = 
STATUS_UNSUCCESSFUL;<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR> <BR>    /* 
Get Pkey */<BR>@@ -463,7 +494,7 
@@<BR>    if(!NT_SUCCESS(status))<BR>    {<BR>     BUS_TRACE(BUS_DBG_ERROR 
,("Failed to read PartitionKey.\n") );<BR>-    goto 
_Create_Static_Devices_exit;<BR>+    goto 
__create_static_devices_exit;<BR>    }<BR> <BR>    while(*curChild) 
curChild++;<BR>@@ -471,7 +502,7 
@@<BR>   }<BR>  }<BR> <BR>-_Create_Static_Devices_exit:<BR>+__create_static_devices_exit:<BR>  if(key_path_buffer)<BR>  {<BR>   cl_free(key_path_buffer);<BR>@@ 
-729,7 +760,7 @@<BR>     BUS_TRACE(BUS_DBG_ERROR 
,<BR>        ("Failed to build pkey 
configuration\n"));<BR> <BR>-   if(!NT_SUCCESS(_Create_Static_Devices(&param_path))){<BR>+   if(!NT_SUCCESS(__create_static_devices(&param_path))){<BR>     BUS_TRACE(BUS_DBG_ERROR 
,<BR>        ("Failed to create 
devices\n"));<BR>    }<BR>@@ -1031,6 +1062,9 
@@<BR>   return status;<BR>  }<BR> <BR>+ /* 
create default device descrition for Partition Manager 
*/<BR>+ __create_default_dev_info( &g_default_device_info 
);<BR>+ <BR>  /* Setup the entry points. 
*/<BR>  p_driver_obj->MajorFunction[IRP_MJ_CREATE] = 
bus_drv_open;<BR>  p_driver_obj->MajorFunction[IRP_MJ_CLEANUP] = 
bus_drv_cleanup;<BR>Index: 
bus/kernel/bus_port_mgr.c<BR>===================================================================<BR>--- 
bus/kernel/bus_port_mgr.c (revision 2223)<BR>+++ 
bus/kernel/bus_port_mgr.c (working copy)<BR>@@ -1014,6 +1014,7 
@@<BR>  return ( success_cnt ? CL_SUCCESS : CL_ERROR 
);<BR> }<BR> <BR>+extern child_device_info_t 
g_default_device_info;<BR> <BR> /************************************************************************************<BR> * 
name : port_mgr_pkey_add<BR>@@ -1103,6 +1104,7 
@@<BR>   pkey_port_ext->pdo.b_reported_missing = 
FALSE;<BR>   pkey_port_ext->pdo.b_hibernating = 
FALSE;<BR>   pkey_port_ext->pdo.p_po_work_item = 
NULL;<BR>+  pkey_port_ext->pdo.p_pdo_device_info = 
&g_default_device_info;<BR>   BUS_TRACE( BUS_DBG_PNP, 
("Created device for %s: PDO %p,ext %p, present %d, missing %d 
.\n",<BR>    pkey_port_ext->pdo.cl_ext.vfptr_pnp_po->identity, 
p_pdo[cnt], pkey_port_ext, pkey_port_ext->pdo.b_present, 
<BR>    pkey_port_ext->pdo.b_reported_missing ) 
);<BR></DIV></FONT><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> James Yang [mailto:jyang@xsigo.com] 
  <BR><B>Sent:</B> Sunday, May 24, 2009 10:10 PM<BR><B>To:</B> Leonid 
  Keller<BR><B>Cc:</B> ofw@lists.openfabrics.org<BR><B>Subject:</B> RE: Bugzilla 
  1233: machine crashes when adding a new partition.<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Hi 
  Leonid,<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">In this case, since 
  the PDO is not created based on the information saved in registry, I think one 
  quick fix is to initialize pdo.p_pdo_device_info  to a fixed information 
  used by partition manager during _port_mgr_pkey_add() PDO creation. I never 
  used part_man, but my understanding is that it created new device through 
  IOCTL call.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Thanks,<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">James<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"> <o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial color=navy size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p> </o:p></SPAN></FONT></P>
  <DIV>
  <DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><FONT 
  face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'">
  <HR tabIndex=-1 align=center width="100%" SIZE=2>
  </SPAN></FONT></DIV>
  <P class=MsoNormal><B><FONT face=Tahoma size=2><SPAN 
  style="FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</SPAN></FONT></B><FONT 
  face=Tahoma size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"> Leonid 
  Keller [mailto:leonid@mellanox.co.il] <BR><B><SPAN 
  style="FONT-WEIGHT: bold">Sent:</SPAN></B> Sunday, May 24, 2009 8:09 
  AM<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> James Yang<BR><B><SPAN 
  style="FONT-WEIGHT: bold">Cc:</SPAN></B> ofw@lists.openfabrics.org<BR><B><SPAN 
  style="FONT-WEIGHT: bold">Subject:</SPAN></B> Bugzilla 1233: machine crashes 
  when adding a new partition.</SPAN></FONT><FONT face="Times New Roman" 
  size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></FONT></P></DIV>
  <P class=MsoNormal><FONT face=Calibri size=2><SPAN 
  style="FONT-SIZE: 11pt"><o:p> </o:p></SPAN></FONT></P>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">We've come 
  accross a fact, that driver crashes after 'part_man add guid part-ID' 
  execution.</SPAN></FONT><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">I looked into it and 
  found out that the problem was introduced 16/02 by 1965 openib patch 
  - "added support for creating vendor defined devices.".</SPAN></FONT><FONT 
  face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">The problem arises 
  from the fact, that port_query_device_id (as well as port_query_hardware_ids, 
  port_query_compatible_ids et al) takes now the data for the reply from its PDO 
  and not from a built-in string. PDO, in turn, gets the data at the start up 
  from the list of statically (in .inf) configured vendor 
  devices.</SPAN></FONT><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">The data are saved in 
  pdo.p_pdo_device_info, which is NULL for the devices added by 
  part_man.</SPAN></FONT><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face=Arial color=blue size=2><SPAN 
  style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">This NULL causes the 
  crash.</SPAN></FONT><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"><o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=MsoNormal><FONT face="Times New Roman" size=3><SPAN 
  style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'"> <o:p></o:p></SPAN></FONT></P></DIV>
  <DIV><PRE id=comment_text_2><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">call stack is:<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">1: kd> k<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">Child-SP          RetAddr           Call Site<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6292a38 fffff800`010d673e nt!DbgBreakPointWithStatus<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6292a40 fffff800`010d7d0e nt!KiBugCheckDebugBreak+0x1e<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6292aa0 fffff800`0102ea54 nt!KeBugCheck2+0x640<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a62930e0 fffff800`013731b1 nt!KeBugCheckEx+0x104<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6293120 fffff800`010556ab nt!PspSystemThreadStartup+0x270<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6293170 fffff800`010549fd nt!_C_specific_handler+0x9b<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6293200 fffff800`01054f93 nt!RtlpExecuteHandlerForException+0xd<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6293230 fffff800`0100b901 nt!RtlDispatchException+0x2c0<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a62938f0 fffff800`0102e76f nt!KiDispatchException+0xd9<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6293ef0 fffff800`0102d5e1 nt!KiExceptionExit<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294070 fffffadf`a53350dc nt!KiPageFault+0x1e1<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294200 fffffadf`a534f041 ibbus!port_query_device_id+0x2ec<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">[s:\builds\4329\trunk\core\bus\kernel\bus_port_mgr.c @ 1598]<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294250 fffffadf`a53496bd ibbus!__query_id+0x3d1<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">[s:\builds\4329\trunk\core\complib\kernel\cl_pnp_po.c @ 1053]<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a62942b0 fffff800`0133ed04 ibbus!cl_pnp+0x284d<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">[s:\builds\4329\trunk\core\complib\kernel\cl_pnp_po.c @ 312]<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a62943c0 fffff800`0133e621 nt!IopSynchronousCall+0x144<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294430 fffff800`01331c87 nt!PpQueryDeviceID+0x91<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a62944f0 fffff800`0133591b nt!PiProcessNewDeviceNode+0x67<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294890 fffff800`013376e5 nt!PipProcessDevNodeTree+0x223<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294c20 fffff800`010cc9d8 nt!PiProcessReenumeration+0x85<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">fffffadf`a6294c70 fffff800`0103768a nt!PipDeviceActionWorker+0x368<o:p></o:p></SPAN></FONT></PRE></DIV></DIV></BLOCKQUOTE></BODY></HTML>