Hi, I am looking at this code:
if (new_msr & (MOS_MSR_DELTA_CTS | MOS_MSR_DELTA_DSR | MOS_MSR_DELTA_RI | MOS_MSR_DELTA_CD)) { icount = &mos7840_port->icount; /* update input line counters */ if (new_msr & MOS_MSR_DELTA_CTS) { icount->cts++; } if (new_msr & MOS_MSR_DELTA_DSR) { icount->dsr++; } if (new_msr & MOS_MSR_DELTA_CD) { icount->dcd++; } if (new_msr & MOS_MSR_DELTA_RI) { icount->rng++; } } It is called in interrupt and uses no locking. What happens if the next irq is processed on another cpu? Is that cpu guaranteed to see the updates to the incremented variables? Regards Oliver ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel