Ticket #379: cycle_test-2.diff
File cycle_test-2.diff, 1.6 kB (added by jwoithe, 10 years ago) |
---|
-
src/libieee1394/IsoHandlerManager.cpp
old new 1607 1607 return RAW1394_ISO_OK; 1608 1608 } 1609 1609 1610 int cbuf[0x100], cbuf_i=0; 1611 int rbuf[0x100]; 1612 1610 1613 enum raw1394_iso_disposition 1611 1614 IsoHandlerManager::IsoHandler::getPacket(unsigned char *data, unsigned int *length, 1612 1615 unsigned char *tag, unsigned char *sy, 1613 1616 int cycle, unsigned int dropped, unsigned int skipped) { 1614 1617 1615 1618 uint32_t pkt_ctr; 1619 1620 int local_cbuf_i = cbuf_i; 1621 cbuf[cbuf_i] = cycle; 1622 cbuf_i = (cbuf_i+1) & 0xff; 1623 1616 1624 if (cycle < 0) { 1617 1625 // mark invalid 1618 1626 pkt_ctr = 0xFFFFFFFF; … … 1712 1720 if (dropped_cycles < 0) { 1713 1721 debugWarning("(%p) dropped < 1 (%d), cycle: %d, last_cycle: %d, dropped: %d, skipped: %d\n", 1714 1722 this, dropped_cycles, cycle, m_last_cycle, dropped, skipped); 1723 debugOutput(DEBUG_LEVEL_VERBOSE, "m_deferred_cycles=%d\n", m_deferred_cycles); 1724 signed int ii = cbuf_i; 1725 do { 1726 debugOutput(DEBUG_LEVEL_VERBOSE, " cycle %d, return %d\n", cbuf[ii], rbuf[ii]); 1727 ii = (ii+1)&0xff; 1728 } while (ii != cbuf_i); 1715 1729 } 1716 1730 if (dropped_cycles > 0) { 1717 1731 debugOutput(DEBUG_LEVEL_VERBOSE, … … 1750 1764 } else 1751 1765 m_deferred_cycles++; 1752 1766 } 1767 rbuf[local_cbuf_i] = retval; 1753 1768 return retval; 1754 1769 } 1755 1770 1771 rbuf[local_cbuf_i] = 0x12345678; 1756 1772 if (cycle >= 0) 1757 1773 m_last_cycle = cycle; 1758 1774