<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style id="mysingle_style">v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<title>Samsung Enterprise Portal mySingle</title>
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-believe-normal-left:yes;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin-top:3.75pt;
        margin-right:0in;
        margin-bottom:3.75pt;
        margin-left:0in;
        font-size:9.0pt;
        font-family:"Arial","sans-serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle27
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle28
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle29
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle30
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle32
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><![if mso 9]><style>p.MsoNormal
        {margin-left:7.5pt;}
</style><![endif]><!--[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" link="blue" vlink="purple" style="margin-left:7.5pt;margin-top:7.5pt;margin-right:7.5pt;margin-bottom:7.5pt">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thank you! Suman.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Alex<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> SUMAN PRAKASH B [mailto:suman.p@samsung.com]
<br>
<b>Sent:</b> Tuesday, August 19, 2014 7:24 AM<br>
<b>To:</b> Alex Chang; nvmewin@lists.openfabrics.org<br>
<b>Subject:</b> RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>Hi Alex,<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>Sure. I will re-base the Samsung patch once the PMC patch is added to the repository.<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>Thanks,<o:p></o:p></p>
<p>Suman<o:p></o:p></p>
<p> <o:p></o:p></p>
<p>------- <b>Original Message</b> -------<o:p></o:p></p>
<p><b>Sender</b> : Alex Chang<Alex.Chang@pmcs.com><o:p></o:p></p>
<p><b>Date</b> : Aug 18, 2014 20:32 (GMT+05:00)<o:p></o:p></p>
<p><b>Title</b> : RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></p>
<p> <o:p></o:p></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:9.0pt;font-family:"Arial","sans-serif""><!--[if mso 9]-->
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Suman,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thank you for fixing the issues. I had sent out PMC patch for the community to review/test last Friday. In order to avoid confusion, we only allow one pending
 patch at a time. After PMC patch is approved by the community, we will start to review/test your patch. Please note that you will need to re-base your changes on top of the most current sources in OFA NVMe Windows repository before sending out your patch.
 You will be notified when PMC patch had been added to the repository. Again, thank you so much for your effort.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Alex<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> nvmewin-bounces@lists.openfabrics.org [mailto:nvmewin-bounces@lists.openfabrics.org]
<b>On Behalf Of </b>SUMAN PRAKASH B<br>
<b>Sent:</b> Saturday, August 16, 2014 5:05 AM<br>
<b>To:</b> nvmewin@lists.openfabrics.org<br>
<b>Subject:</b> Re: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<pre>Content-Type: text/plain; charset=UTF-8<o:p></o:p></pre>
<pre>Content-Transfer-Encoding: 8bit<o:p></o:p></pre>
<pre>Date: %%SENT_DATE%%<o:p></o:p></pre>
<pre>Subject: Suspect Message Quarantined <o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>WARNING: The virus scanner was unable to scan an attachment in an email message sent to you.  This attachment could possibly contain viruses or other malicious programs.  The attachment could not be scanned for the following reasons:<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>%%DESC%%<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>The full message and the attachment have been stored in the quarantine.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>The identifier for this message is '%%QID%%'.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Access the quarantine at: <o:p></o:p></pre>
<pre>https://puremessage.pmc-sierra.bc.ca:28443/<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>For more information on PMC's Anti-Spam system:<o:p></o:p></pre>
<pre>http://pmc-intranet/wiki/index.php/Outlook:Anti-Spam_FAQ<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>IT Services<o:p></o:p></pre>
<pre>PureMessage Admin <o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Hi Everyone,</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">There was one more bug in nvmeSnti.c - SntiSetScsiSenseData().</span><o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">In the statement -
<br>
SrbSetScsiData(pSrb, NULL, NULL, NULL, NULL, sizeof(SENSE_DATA));</span><o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">The last parameter is supposed to be a pointer.</span><o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">System is crashing with KiPageFault error in Windows 8.1.</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Please find attached Patch1-v3 with this issue corrected. Kindly ignore Patch1-v2.</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Thanks,<br>
Suman</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p>------- <b>Original Message</b> -------<o:p></o:p></p>
<p><b>Sender</b> : SUMAN PRAKASH B<suman.p@samsung.com> Chief Engineer/SRI-Bangalore-SSD Solutions/Samsung Electronics<o:p></o:p></p>
<p><b>Date</b> : Aug 16, 2014 16:51 (GMT+05:00)<o:p></o:p></p>
<p><b>Title</b> : RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Hi Alex,</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Kindly excuse me for delay in responding to your mails. 15th August was Independence day in India and we were not allowed to come to office :)</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Anyway, I compiled the code in checked build and after installing the driver on Windows 8.1, observed a BSOD.</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">The issue was in IO_StorPortNotification() routine.</span><o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">For a particular SRB_FUNCTION_IO_CONTROL - IOCTL_SCSI_MINIPORT_IDENTIFY request, the pCdb was NULL. Hence BSOD was happening at
<br>
 StorPortDebugPrint(INFO,<br>
                           "FYI: SRB status 0x%x scsi 0x%x for CDB 0x%x BTL %d %d %d\n",<br>
                           pSrb->SrbStatus,<br>
                           scsiStatus,</span><o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">                          
<span style="background:yellow">*pCdb,</span><br>
                           SrbGetPathId((void*)pSrb),<br>
                           SrbGetTargetId((void*)pSrb),<br>
                           SrbGetLun((void*)pSrb));</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">This issue is not reproducible in release build. I did not find any other issues on Win8.1 right after installation. Please find attached the corrected code. Password is
<strong><span style="font-family:"Calibri","sans-serif";color:blue">samsung123</span></strong><span style="color:black">.</span></span><o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Please do let me know if this resolves the crash that you had seen.</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif"">Thanks,<br>
Suman</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p>------- <b>Original Message</b> -------<o:p></o:p></p>
<p><b>Sender</b> : Alex Chang<Alex.Chang@pmcs.com><o:p></o:p></p>
<p><b>Date</b> : Aug 16, 2014 05:51 (GMT+05:00)<o:p></o:p></p>
<p><b>Title</b> : RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></p>
<p> <o:p></o:p></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:9.0pt;font-family:"Arial","sans-serif""><!--[if mso 9]-->
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks, Judy.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Alex<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Judy Brock-SSI [mailto:judy.brock@ssi.samsung.com]
<br>
<b>Sent:</b> Friday, August 15, 2014 5:51 PM<br>
<b>To:</b> Alex Chang; Uma Parepalli; SUMAN PRAKASH B; nvmewin@lists.openfabrics.org<br>
<b>Subject:</b> RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Sure.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Judy<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Alex Chang [<a href="mailto:Alex.Chang@pmcs.com">mailto:Alex.Chang@pmcs.com</a>]
<br>
<b>Sent:</b> Friday, August 15, 2014 5:50 PM<br>
<b>To:</b> Judy Brock-SSI; Uma Parepalli; SUMAN PRAKASH B; <a href="mailto:nvmewin@lists.openfabrics.org">
nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Judy,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I have my patch ready. Can I send it out first? And Suman can take his time to debug the issue?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Alex<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Judy Brock-SSI [<a href="mailto:judy.brock@ssi.samsung.com">mailto:judy.brock@ssi.samsung.com</a>]
<br>
<b>Sent:</b> Friday, August 15, 2014 5:13 PM<br>
<b>To:</b> Uma Parepalli; Alex Chang; SUMAN PRAKASH B; <a href="mailto:nvmewin@lists.openfabrics.org">
nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Uma,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I am not sure if there will be a patch by tomorrow. I relayed the exact message I got from Suman which was that he expects to have an update by EOD tomorrow.
 I believe it will depend on what he finds.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Judy<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Uma Parepalli [<a href="mailto:Uma.Parepalli@skhms.com">mailto:Uma.Parepalli@skhms.com</a>]
<br>
<b>Sent:</b> Friday, August 15, 2014 11:47 AM<br>
<b>To:</b> Alex Chang; Judy Brock-SSI; SUMAN PRAKASH B; <a href="mailto:nvmewin@lists.openfabrics.org">
nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thank you Alex and Judy.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Judy,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">             Does your email mean that there will be a patch by tomorrow 8/16 so that Alex can have it released on Monday 8/18?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">             I would prefer to have the patch with the crash fix.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-right:7.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">             Thank you,<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-right:7.5pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Uma<o:p></o:p></span></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Uma Parepalli<o:p></o:p></span></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Cell: 408 805 9260<o:p></o:p></span></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="mailto:uma.parepalli@skhms.com">uma.parepalli@skhms.com</a><o:p></o:p></span></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">SK Hynix Memory Solutions Inc.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">3103 North 1<sup>st</sup> Street, San Jose, CA<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a href="mailto:nvmewin-bounces@lists.openfabrics.org">nvmewin-bounces@lists.openfabrics.org</a> [<a href="mailto:nvmewin-bounces@lists.openfabrics.org">mailto:nvmewin-bounces@lists.openfabrics.org</a>]
<b>On Behalf Of </b>Alex Chang<br>
<b>Sent:</b> Friday, August 15, 2014 11:02 AM<br>
<b>To:</b> Judy Brock-SSI; SUMAN PRAKASH B; <a href="mailto:nvmewin@lists.openfabrics.org">
nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> Re: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks, Judy, for letting me know.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Alex<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Judy Brock-SSI [<a href="mailto:judy.brock@ssi.samsung.com">mailto:judy.brock@ssi.samsung.com</a>]
<br>
<b>Sent:</b> Thursday, August 14, 2014 11:51 PM<br>
<b>To:</b> Alex Chang; SUMAN PRAKASH B; <a href="mailto:nvmewin@lists.openfabrics.org">
nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> RE: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Alex,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Please go ahead with your patch on Monday. Suman will be out of the office tomorrow (the 15<sup>th</sup>).  However, he is planning on looking into the crash
 on the 16<sup>th</sup> and should have an update by EOD 16<sup>th</sup>.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Judy<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a href="mailto:nvmewin-bounces@lists.openfabrics.org">nvmewin-bounces@lists.openfabrics.org</a> [<a href="mailto:nvmewin-bounces@lists.openfabrics.org">mailto:nvmewin-bounces@lists.openfabrics.org</a>]
<b>On Behalf Of </b>Alex Chang<br>
<b>Sent:</b> Thursday, August 14, 2014 9:45 AM<br>
<b>To:</b> SUMAN PRAKASH B; <a href="mailto:nvmewin@lists.openfabrics.org">nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> Re: [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Suman,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thank you so much for your effort.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I did a quick test on Windows 8.1 and it crashes the system right after installation. Have you seen that?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">By the way, I thought PMC is the next to send patch out. Anyway, Could you please look into the crash? If it can be fixed by the end of tomorrow, we will start
 reviewing/testing your patch. Otherwise, I will send out PMC patch on Monday.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Alex<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in;border-image: none">
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
<a href="mailto:nvmewin-bounces@lists.openfabrics.org">nvmewin-bounces@lists.openfabrics.org</a> [<a href="mailto:nvmewin-bounces@lists.openfabrics.org">mailto:nvmewin-bounces@lists.openfabrics.org</a>]
<b>On Behalf Of </b>SUMAN PRAKASH B<br>
<b>Sent:</b> Thursday, August 14, 2014 1:41 AM<br>
<b>To:</b> <a href="mailto:nvmewin@lists.openfabrics.org">nvmewin@lists.openfabrics.org</a><br>
<b>Subject:</b> [nvmewin] NVMe OFA Patch for Random bug fixes<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<pre>Content-Type: text/plain; charset=UTF-8<o:p></o:p></pre>
<pre>Content-Transfer-Encoding: 8bit<o:p></o:p></pre>
<pre>Date: %%SENT_DATE%%<o:p></o:p></pre>
<pre>Subject: Suspect Message Quarantined <o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>WARNING: The virus scanner was unable to scan an attachment in an email message sent to you.  This attachment could possibly contain viruses or other malicious programs.  The attachment could not be scanned for the following reasons:<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>%%DESC%%<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>The full message and the attachment have been stored in the quarantine.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>The identifier for this message is '%%QID%%'.<o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Access the quarantine at: <o:p></o:p></pre>
<pre><a href="https://puremessage.pmc-sierra.bc.ca:28443/">https://puremessage.pmc-sierra.bc.ca:28443/</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>For more information on PMC's Anti-Spam system:<o:p></o:p></pre>
<pre><a href="http://pmc-intranet/wiki/index.php/Outlook:Anti-Spam_FAQ">http://pmc-intranet/wiki/index.php/Outlook:Anti-Spam_FAQ</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>IT Services<o:p></o:p></pre>
<pre>PureMessage Admin <o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Hi Everyone,</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">We have a patch for the following random bug fixes -</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">a. Invalid return value for NVMeAdapterControl.<br>
b. Handling StartIo deadlock when MultipleCoresToSingleQueueFlag is set.<br>
c. Support for STORAGE_REQUEST_BLOCK in DriverEntry.<br>
d. Handling return value for NVMeCompleteCmd.<br>
e. Handling return value for NVMeWaitForCtrlRDY.<br>
f. Fixing the NVMeResetAdapter issues to check if CC.EN is set to 1 before setting to 0.<br>
g. Memory corruption constructing inquiry response data in SntiTranslateStandardInquiryPage.<br>
h. Eliminate NVMeWaitOnReady and use only NVMeWaitForCtrlRDY.<br>
i. Fix the RecoveryDpcRoutine to avoid redundant setting of CC.EN bit to 0.<br>
j. Write Buffer implementation correction.<br>
k. Enabling Eject option in the taskbar.</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Please send feedback by August 21st.  The password is
<strong><span style="font-family:"Calibri","sans-serif";color:blue">samsung123</span></strong></span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""><br>
<strong><u><span style="font-family:"Calibri","sans-serif"">Change details -</span></u></strong></span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">1) Invalid return value for NVMeAdapterControl<br>
NVMeAdapterControl miniport routine -  sometimes returns illegal value. WDK specifies that the driver must always return ScsiAdapterControlSuccess. However, depending on execution, the driver may currently return ScsiAdapterControlUnsuccessful for ScsiStopAdapter
 and ScsiRestartAdapter control types. <br>
As per msdn – </span><a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff557365(v=vs.85).aspx"><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">http://msdn.microsoft.com/en-us/library/windows/hardware/ff557365(v=vs.85).aspx</span></a><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""><br>
Affected Files/Functions:<br>
        nvmeStd.c / NVMeAdapterControl()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">2) Handling StartIo deadlock when MultipleCoresToSingleQueueFlag is set<br>
Affected Files/Functions:<br>
        Set the AcquireLock parameter to FALSE in the processio () in the below functions.<br>
        nvmeSnti.c / SntiTranslateTemperatureResponse ()<br>
        nvmeSnti.c / SntiTranslateStartStopUnitResponse ()<br>
        nvmeStd.c / NVMeHandleSmartThresholds ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">3) Support for STORAGE_REQUEST_BLOCK in DriverEntry<br>
Set the SrbTypeFlags in DriverEntry() function to support STORAGE_REQUEST_BLOCK.</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeStd.c / DriverEntry (): </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">4) Handlings return value for NVMeCompleteCmd.<br>
NVMeCompleteCmd should have a return value that can be checked to see if it was successful or not. Right now, wherever it’s called from the code forges ahead regardless of whether it succeeded or failed: 
<br>
VOID NVMeCompleteCmd{<br>
. . .<br>
if ((pCmdEntry->Pending == FALSE) || (pCmdEntry->Context == NULL)) {<br>
/* Something bad happened so reset the adapter and hope for the best */<br>
                  NVMeResetController(pAE, NULL);<br>
                                    return;<br>
}<br>
As shown above, one of the routines which NVMeCompleteCmd calls is NVMeResetController. Since NVMeCompleteCmd has no return value, this fatal error return is never detected in any of the places that the function is called from (quite a few) - the logic just
 proceeds on as if everything is fine. In some cases NVMeCompleteCmd can be called over and over (if it is called from DetectPendingCmds or IoCompletionDpcRoutine for example) which may in turn cause repeated calls to NVMeResetController.
<br>
Affected Files/Functions:<br>
        nvmeIo.c / ProcessIo ()<br>
        nvmeIo.c / NVMeCompleteCmd ()<br>
        nvmeIo.h / NVMeCompleteCmd ()<br>
        nvmeStd.c / IoCompletionDpcRoutine ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">5) Handling return value for NVMeWaitForCtrlRDY<br>
NVMeWaitForCtrlRDY should have a return value of type BOOLEAN that can be checked to see if it was successful or not.</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeStd.c / NVMeInitialize ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">6) Fixing the NVMeResetAdapter issues to check if CC.EN is set to 1 before setting to 0.<br>
The routine NVMeResetAdapter() sets CC.EN to 0 without ever checking to make sure that CSTS.RDY is set to ‘1’ first. This check has to be included in this routine. Since it is not, there are many paths in the driver where there is no prior check for this condition:<br>
a) NVMeInitAdminQueues -> NVMeEnableAdapter -> NVMeResetAdapter<br>
b) NVMeNormalShutdown -> NVMeResetAdapter<br>
c) NVMeAdapterControlPowerDown -> NVMeResetAdapter<br>
d) NVMeSynchronizeReset -> NVMeResetAdapter</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeInit.c / NVMeResetAdapter ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">7) Memory corruption constructing inquiry response data in SntiTranslateStandardInquiryPage<br>
Memory corruption constructing inquiry response data -  In SntiTranslateStandardInquiryPage(), the following line of code is touching a field way past the end of STANDARD_INQUIRY_LENGTH (36 bytes):<br>
pStdInquiry->Reserved3[0]        = RESERVED_FIELD;</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeSnti.c / SntiTranslateStandardInquiryPage ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">8) Eliminate NVMeWaitOnReady and use only NVMeWaitForCtrlRDY.<br>
There is redundancy in the new routine NVMeWaitForCtrlRDY() and the old routine NVMeWaitOnReady(). We don’t need both – we can get rid of the old routine.</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeInit.c / NVMeResetAdapter ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">9) Fix the RecoveryDpcRoutine to avoid redundant setting of CC.EN bit to 0.<br>
The code does not need to set CC.EN to ‘0’ and then wait for CSTS.RDY to become 0 because right after it does so, it calls NVMeResetAdapter which does the exact same thing.</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeStd.c / RecoveryDpcRoutine ()</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">10) Write Buffer implementation correction.<br>
a. Calculation of dword10 for DOWNLOAD_SAVE_ACTIVATE and DOWNLOAD_SAVE_DEFER_ACTIVATE is modified.
<br>
b. Set the SRB Status value for NVMe command failure condition in SntiCompletionCallbackRoutine.<br>
c. Prepare the Firmware Activate Command and issue the command in case of DOWNLOAD_SAVE_ACTIVATE mode in SntiTranslateWriteBufferResponse.<br>
d. Handled the scenario of SNTI_SEQUENCE_IN_PROGRESS for Write Data Buffer command.</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Affected Files/Functions:<br>
        nvmeSnti.c / SntiCompletionCallbackRoutine<br>
        nvmeSnti.c / SntiTranslateWriteBufferResponse</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""> </span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">11) Enabling Eject option in the taskbar:<br>
Affected Files/Functions:<br>
        nvmeStd.c / DriverEntry (): Set the FeatureSupport flag to STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES.</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">        nvmeStd.c / NVMeBuildIo (): Use the PSTOR_DEVICE_CAPABILITIES_EX structure for PNPAction StorQueryCapabilities. Set the Removable flag to TRUE.</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><strong><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Unit tests:</span></strong><span style="font-size:10.0pt;font-family:"Calibri","sans-serif""><br>
Win7/8/8.1, Server 2008R2/2012/2012R2</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Thanks,</span><o:p></o:p></p>
<p><span style="font-size:10.0pt;font-family:"Calibri","sans-serif"">Suman</span><o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<p> <o:p></o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0" id="confidentialsignimg">
<tbody>
<tr>
<td style="padding:.75pt .75pt .75pt .75pt">
<p><img border="0" width="520" height="144" id="_x0000_i1025" src="cid:image001.gif@01CFBB8D.43107A90"><o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin:0in;margin-bottom:.0001pt"><span style="border:solid windowtext 1.0pt;padding:0in"><img border="0" width="100" height="100" id="_x0000_i1026" src="cid:~WRD000.jpg" alt="Image removed by sender."></span><o:p></o:p></p>
</div>
</body>
</html>