commit | eff9b915653190b83e97cdcf474a0d16a669b136 | [log] [tgz] |
---|---|---|
author | Eric Wild <ewild@sysmocom.de> | Sat Nov 07 16:06:08 2020 +0100 |
committer | Eric Wild <ewild@sysmocom.de> | Wed Nov 11 21:26:09 2020 +0100 |
tree | 89ac5cce832d8ffc0176b8865c4b39390bfba59d | |
parent | c1555c1360eaf1087aac73a08f35e5b60f9aff2f [diff] |
7816 fsm: move to static msgb Error handling was difficult due to the need to pass msgb pointers attached to the sub fsms back to the cb that is polled from the main loop to be able free them, while ensuring they never get lost, because memory leakage is deadly. This is now fixed by using static pseudo-msgbs for the fsms that are never deallocated. This only adds one tpdu tx copy, the ccid response msgbs were already being copied anyway, so memory usage has not changed except for the "unused slots" case that is not really important since the octsim was designed around concurrent slot operation anway. All of this allows convenient error handling in the allstate function instead of having to spread it all over the sub fsms - in practice handling errors mostly consists of card deactivation + returning a proper failure message that matches the ccid command anyway. Change-Id: I65e77c376aca9ed50e234a0b58a7450a8bbd4fe0
This repository contains a C-language implementation of the USB CCID (Smart Card Reader) device class. The code is written in a portable fashin and can be found in the ccid_common
sub-directory.
The code can be built to run as an userspace program on Linux, implementing a USB Gadget using the FunctionFS interface. For this version, see the ccid_host
subdirectory.
The CCID code can also be built into a firmware for the sysmoOCTSIM 8-slot high-performance USB smart card reader.
Discussions related to osmo-ccid-firmware are happening on the slightly unrelated simtrace@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/simtrace for subscription options and the list archive.
Please observe the Osmocom Mailing List Rules when posting.
Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards
We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details
The current patch queue for osmo-ccid-firmware can be seen at https://gerrit.osmocom.org/#/q/project:osmo-ccid-firmware+status:open