Fixed bug 3605793.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5304 35acf78f-673a-0410-8e92-d51de3d6d3f4
master
gdisirio 2013-02-24 07:08:44 +00:00
parent 4256a9113f
commit c41614ea66
2 changed files with 4 additions and 2 deletions

View File

@ -323,7 +323,8 @@ void sduDataTransmitted(USBDriver *usbp, usbep_t ep) {
chSysLockFromIsr(); chSysLockFromIsr();
usbStartTransmitI(usbp, ep); usbStartTransmitI(usbp, ep);
} }
else if (!(usbp->epc[ep]->in_state->txsize & else if ((usbp->epc[ep]->in_state->txsize > 0) &&
!(usbp->epc[ep]->in_state->txsize &
(usbp->epc[ep]->in_maxsize - 1))) { (usbp->epc[ep]->in_maxsize - 1))) {
/* Transmit zero sized packet in case the last one has maximum allowed /* Transmit zero sized packet in case the last one has maximum allowed
size. Otherwise the recipient may expect more data coming soon and size. Otherwise the recipient may expect more data coming soon and

View File

@ -85,6 +85,7 @@
***************************************************************************** *****************************************************************************
*** 2.5.2 *** *** 2.5.2 ***
- FIX: Fixed deadlock in Serial_USB driver (bug 3605793).
- FIX: Fixed compile Error OLIMEX_SAM7_EX256/board.c (bug 3605058). - FIX: Fixed compile Error OLIMEX_SAM7_EX256/board.c (bug 3605058).
- FIX: Fixed bug prevents calling adcStartConversionI() within ISR (bug - FIX: Fixed bug prevents calling adcStartConversionI() within ISR (bug
3605053)(backported to 2.4.4). 3605053)(backported to 2.4.4).