lost bytes in ISO7816 UART receive

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/simtrace@lists.osmocom.org/.

Harald Welte laforge at gnumonks.org
Wed Mar 21 22:48:13 UTC 2012


Hi Peter and others,

On Sat, Feb 18, 2012 at 08:18:33PM +0100, Peter Stuge wrote:
> I note that all data to be transmitted is copied byte for byte from
> the rctx data buffer into the USB peripheral memory. I had expected
> zero copy. During copying, interrupts are disabled.

I'm actually not sure on the latter part:

* the hardware and IRQ handler code supports nested interrupts
* the core IRQ handler assembly code re-enables interrupts immediately
  even before calling the USB driver
* the endpoint re-fill code called from the irq handler
  __udp_refill_ep() doesn't contain any explicit local_irq_disable()
* the USART interrupt priority (4) is higher than the USB prio (2)

So based on all this, the USART interrupt should happily be served as a
nested IRQ even while the USB driver is re-filling the end-point FIFO.

Regards,
	Harald
-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)




More information about the simtrace mailing list