<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic bug? - from khci_dev.c : usb_dci_khci_get_xd() in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384217#M20574</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;when there are no entries, the return path calls OS_Mutex_unlock instead of OS_Unlock() used in the success return path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* This function can be called from any context, and it needs mutual&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exclusion with itself.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS_Lock();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get a transfer descriptor for the specified endpoint &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ** and direction &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!usb_dev_ptr-&amp;gt;xd_entries)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;OS_Mutex_unlock(usb_dev_ptr-&amp;gt;mutex);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return USBERR_DEVICE_BUSY;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 10 Oct 2014 15:27:39 GMT</pubDate>
    <dc:creator>csjc</dc:creator>
    <dc:date>2014-10-10T15:27:39Z</dc:date>
    <item>
      <title>bug? - from khci_dev.c : usb_dci_khci_get_xd()</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384217#M20574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;when there are no entries, the return path calls OS_Mutex_unlock instead of OS_Unlock() used in the success return path.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* This function can be called from any context, and it needs mutual&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exclusion with itself.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS_Lock();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Get a transfer descriptor for the specified endpoint &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ** and direction &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!usb_dev_ptr-&amp;gt;xd_entries)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;OS_Mutex_unlock(usb_dev_ptr-&amp;gt;mutex);&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return USBERR_DEVICE_BUSY;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Oct 2014 15:27:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384217#M20574</guid>
      <dc:creator>csjc</dc:creator>
      <dc:date>2014-10-10T15:27:39Z</dc:date>
    </item>
    <item>
      <title>Re: bug? - from khci_dev.c : usb_dci_khci_get_xd()</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384218#M20575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;again this is from the ksdk usb 1.0.0 GA release code&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 Oct 2014 15:28:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384218#M20575</guid>
      <dc:creator>csjc</dc:creator>
      <dc:date>2014-10-10T15:28:30Z</dc:date>
    </item>
    <item>
      <title>Re: bug? - from khci_dev.c : usb_dci_khci_get_xd()</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384219#M20576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chris,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is a known issue, the correct code should be:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!usb_dev_ptr-&amp;gt;xd_entries)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS_Unlock();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return USBERR_DEVICE_BUSY;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;The fixed code will be released at this December. &lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;BR /&gt;best regards &lt;BR /&gt;Ma Hui&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2014 07:13:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384219#M20576</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2014-10-15T07:13:01Z</dc:date>
    </item>
    <item>
      <title>Re: bug? - from khci_dev.c : usb_dci_khci_get_xd()</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384220#M20577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It wasn't known to me.&amp;nbsp; Is there a public list?&lt;/P&gt;&lt;P&gt;This is the type of bug that can cause a significant amount of wasted debug time.&amp;nbsp; Please impress on the appropriate team that the errta needs be kept up to date.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2014 14:15:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/bug-from-khci-dev-c-usb-dci-khci-get-xd/m-p/384220#M20577</guid>
      <dc:creator>csjc</dc:creator>
      <dc:date>2014-10-15T14:15:24Z</dc:date>
    </item>
  </channel>
</rss>

