<!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(¶m_path))){<BR>+ if(!NT_SUCCESS(__create_static_devices(¶m_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>