{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "osmith/wip"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : ""
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Oliver Smith",
          "userId" : "osmith",
          "userName" : "Oliver Smith"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 46573,
      "executingTimeMillis" : 46573,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 0,
      "waitingTimeMillis" : 0
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2414,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "116df678f9a7887c828e5744d1fab9399c8ef6d3",
            "branch" : [
              {
                "SHA1" : "116df678f9a7887c828e5744d1fab9399c8ef6d3",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "116df678f9a7887c828e5744d1fab9399c8ef6d3",
            "branch" : [
              {
                "SHA1" : "116df678f9a7887c828e5744d1fab9399c8ef6d3",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/osmith/wip" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 2415,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "be7b3124f870855c64815849d5271d80703bf293",
            "branch" : [
              {
                "SHA1" : "be7b3124f870855c64815849d5271d80703bf293",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          },
          "revision" : {
            "SHA1" : "be7b3124f870855c64815849d5271d80703bf293",
            "branch" : [
              {
                "SHA1" : "be7b3124f870855c64815849d5271d80703bf293",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1168,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "62e18147cc4dd566884dcdcca0be3e028c305245",
            "branch" : [
              {
                "SHA1" : "62e18147cc4dd566884dcdcca0be3e028c305245",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "62e18147cc4dd566884dcdcca0be3e028c305245",
            "branch" : [
              {
                "SHA1" : "62e18147cc4dd566884dcdcca0be3e028c305245",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "be7b3124f870855c64815849d5271d80703bf293",
        "branch" : [
          {
            "SHA1" : "be7b3124f870855c64815849d5271d80703bf293",
            "name" : "refs/remotes/origin/osmith/wip"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/osmo-ccid-firmware"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#2415",
  "duration" : 46573,
  "estimatedDuration" : 64070,
  "executor" : None,
  "fullDisplayName" : "master-osmo-ccid-firmware #2415",
  "id" : "2415",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 2415,
  "queueId" : 78758,
  "result" : "SUCCESS",
  "timestamp" : 1775123145376,
  "url" : "https://jenkins.osmocom.org/jenkins/job/master-osmo-ccid-firmware/2415/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins.sh"
        ],
        "commitId" : "4aec0a62d4537d69daca042006fa456da613accf",
        "timestamp" : 1768741153000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "contrib/jenkins.sh: fix build: add --disable-syslog-logging\u000a\u000aSince recently (see the related patch), libosmocore requires header\u000afile syslog.h to be present, unless --disable-syslog-logging is given.\u000a\u000aChange-Id: Ia49709dfebdf22cb00f70d667c996c3fbb8a1f51\u000aRelated: libosmocore.git Ifc54d60e24547696b3059b6eb75572f8c84874d0\u000a",
        "date" : "2026-01-18 19:59:13 +0700",
        "id" : "4aec0a62d4537d69daca042006fa456da613accf",
        "msg" : "contrib/jenkins.sh: fix build: add --disable-syslog-logging",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins.sh"
        ],
        "commitId" : "45655c213b3087f073baebbeb4176776ac283d72",
        "timestamp" : 1768996964000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "contrib/jenkins.sh: fix non-existent include path\u000a\u000aThis helps the compiler to find talloc.h and fixes the build [again].\u000a\u000aChange-Id: I7949f31e01d4cb20af1095f8fc20be1571239f37\u000aRelated: OS#6929\u000a",
        "date" : "2026-01-21 19:02:44 +0700",
        "id" : "45655c213b3087f073baebbeb4176776ac283d72",
        "msg" : "contrib/jenkins.sh: fix non-existent include path",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins.sh"
        ],
        "commitId" : "bef0bd774a513678beac5102781a5e79767f9736",
        "timestamp" : 1768996995000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "contrib/jenkins.sh: clean up embedded build flags\u000a\u000a--enable-embedded implies the following flags:\u000a\u000a* --disable-log-macros\u000a* --disable-libsctp\u000a* --disable-libusb\u000a* --disable-gb\u000a* --disable-libmnl\u000a* --disable-syslog-logging\u000a\u000aso they can be safely removed.\u000a\u000a--enable-external-tests makes no sense for an embedded build.\u000a\u000aChange-Id: I4b54ecc5b023c7f4e1788814960e179c3818dbda\u000aRelated: libosmocore.git I164eb461fb59c7675393219102740f40c1119fdd\u000a",
        "date" : "2026-01-21 19:03:15 +0700",
        "id" : "bef0bd774a513678beac5102781a5e79767f9736",
        "msg" : "contrib/jenkins.sh: clean up embedded build flags",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins.sh"
        ],
        "commitId" : "051e71adc02f16218b6d2ddcadfd69082b72ae8b",
        "timestamp" : 1768996995000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "contrib/jenkins.sh: clean up CFLAGS\u000a\u000aChange-Id: I4e78d6eb3c6c7b40312072fcf70f4b6d80042959\u000a",
        "date" : "2026-01-21 19:03:15 +0700",
        "id" : "051e71adc02f16218b6d2ddcadfd69082b72ae8b",
        "msg" : "contrib/jenkins.sh: clean up CFLAGS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/iso7816_fsm.c"
        ],
        "commitId" : "8bb769384e4ade2eca700110ffdfb8e2fe384d39",
        "timestamp" : 1770216277000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/ewild",
          "fullName" : "ewild"
        },
        "authorEmail" : "ewild@sysmocom.de",
        "comment" : "fix wait time extension handling\u000a\u000await time ext byte was mishandled as sw1 and sw2, which broke transfers that took a long time, i.e. crypto ops during esim interactions.\u000a\u000aCloses: SYS#7869\u000aChange-Id: I7527a4337ae857b9b2a4e982606fac770e677d73\u000a",
        "date" : "2026-02-04 15:44:37 +0100",
        "id" : "8bb769384e4ade2eca700110ffdfb8e2fe384d39",
        "msg" : "fix wait time extension handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/iso7816_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/ccid_slot_fsm.c"
        ],
        "commitId" : "8bbb9aee39f62cd18ea0181a22ecf488314cc3ca",
        "timestamp" : 1771666868000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/lynxis",
          "fullName" : "lynxis"
        },
        "authorEmail" : "lynxis@fe80.eu",
        "comment" : "ccid_common: iso_handle_fsm_events: add missing return\u000a\u000aFix warning about control reaches end of non-void function.\u000a\u000aChange-Id: I4066c8a1ab1eadb3d8f8cbaf5aa0afbbb2e5dd80\u000a",
        "date" : "2026-02-21 09:41:08 +0000",
        "id" : "8bbb9aee39f62cd18ea0181a22ecf488314cc3ca",
        "msg" : "ccid_common: iso_handle_fsm_events: add missing return",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_slot_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/main.c"
        ],
        "commitId" : "f522294dd2e7a9be793954f0dc2175762ca8ebd9",
        "timestamp" : 1772185580000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "After initialisation: turn user led on\u000a\u000aRelated: SYS#5158\u000aChange-Id: Ide37ea32648536d333bd5051b142eb15959d29bf\u000a",
        "date" : "2026-02-27 09:46:20 +0000",
        "id" : "f522294dd2e7a9be793954f0dc2175762ca8ebd9",
        "msg" : "After initialisation: turn user led on",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".clang-format"
        ],
        "commitId" : "97caf6244398760ed8b0c5c045867b4bea36f0a0",
        "timestamp" : 1772438277000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/osmith",
          "fullName" : "Oliver Smith"
        },
        "authorEmail" : "osmith@sysmocom.de",
        "comment" : "clang-format: set ColumnLimit: 0\u000a\u000aWhile our coding style says \"we accept line lengths of up to 120\u000acharacters\", in practice we oftentimes end up preferring longer lines\u000a(e.g. due to having comments at the end, or to keep them consistent with\u000asimilar but shorter lines).\u000a\u000aThe checkpatch config has already been adjusted to just ignore the line\u000alength completely. Adjust the clang-format config to do the same.\u000a\u000aRelated: osmo-ci I88fd86ac550fddb3017aeceb647c3d9e75367372\u000aChange-Id: I1f0d511d90a0725f195e08dd6a99eb3d55bd6fc1\u000a",
        "date" : "2026-03-02 07:57:57 +0000",
        "id" : "97caf6244398760ed8b0c5c045867b4bea36f0a0",
        "msg" : "clang-format: set ColumnLimit: 0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".clang-format"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/main.c"
        ],
        "commitId" : "fe7f506cc7464d7887e8fab93e2572866b68e23e",
        "timestamp" : 1773134977000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "main: fix crash when ccid_df_write_in() fails\u000a\u000aThe OSMO_ASSERT(msg->list.next != LLIST_POISON1) are checking msgb\u000awhich has been removed from the llist.\u000aAll llist members which aren't part of a list have LLIST_POISON1 assigned.\u000a\u000aThese OSMO_ASSERT()s will always trigger this msgb.\u000a\u000aFixes: a684bc4e38b4 (\"Make ch9 usb tests work\")\u000aChange-Id: I49c81fba756f3620638b6c6c664f53e4a8758ef9\u000a",
        "date" : "2026-03-10 09:29:37 +0000",
        "id" : "fe7f506cc7464d7887e8fab93e2572866b68e23e",
        "msg" : "main: fix crash when ccid_df_write_in() fails",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/main.c"
        ],
        "commitId" : "c53871f917f7917b5abb3b57ecfebbfd8cf290c4",
        "timestamp" : 1773134977000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "main: don't access msgbs after giving them away\u000a\u000aBecause of IRQ, it is dangerous to access a msgb,\u000awhich has been giving away to a queue (ownership transfer).\u000a\u000aFurther OSMO_ASSERT() should never fail on a queue'd object,\u000aexcept it has been taken already from an IRQ context.\u000aFix a potential crash.\u000a\u000aFixes: a684bc4e38b4 (\"Make ch9 usb tests work\")\u000aChange-Id: I79844f77d5cd75e08b0eb44b22c4ad223cb79dcb\u000a",
        "date" : "2026-03-10 09:29:37 +0000",
        "id" : "c53871f917f7917b5abb3b57ecfebbfd8cf290c4",
        "msg" : "main: don't access msgbs after giving them away",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/ccid_device.c"
        ],
        "commitId" : "969a494769c62ed4402a0febc19e48e57792cbfc",
        "timestamp" : 1773139531000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ccid_device: Reject XfrBlock with zero-length data\u000a\u000aWhile the CCID v1.1 spec seems to declare dwLength == 0 is within\u000athe valid range, it's of course a no-op as we cannot transact a TPDU\u000athat isn't there.\u000a\u000aChange-Id: I65df88477e4b1c03dc20a8d41e5cbd1c9f363ba8\u000aCloses: OS#6969\u000a",
        "date" : "2026-03-10 10:45:31 +0000",
        "id" : "969a494769c62ed4402a0febc19e48e57792cbfc",
        "msg" : "ccid_device: Reject XfrBlock with zero-length data",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_device.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/ccid_device.c",
          "ccid_common/ccid_proto.h"
        ],
        "commitId" : "2dc15fb6727faa05738ee63b53ce3e81cb8f4f42",
        "timestamp" : 1773160033000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ccid: Fix CCID RDR_to_PC_Parameters (missing bProtocolNum)\u000a\u000aOur RDR_to_PC_Parameters message was broken, as it was missing\u000athe bProtocolNum value after the header.  Let's fix that.\u000a\u000aChange-Id: I67d5cb876d20b29f4759d5b194606f34b8b966c4\u000a",
        "date" : "2026-03-10 16:27:13 +0000",
        "id" : "2dc15fb6727faa05738ee63b53ce3e81cb8f4f42",
        "msg" : "ccid: Fix CCID RDR_to_PC_Parameters (missing bProtocolNum)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_device.c"
          },
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_proto.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/ccid_proto.h"
        ],
        "commitId" : "f2f1bb884194f04f306993de16841b606d5c0fc6",
        "timestamp" : 1773160033000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ccid: Fix [unused] RDR_to_PC_Hardware_Error struct definition\u000a\u000aOur definition of the message was wrong; it is an interrupt endpoint\u000amessage without the full header of the bulk-in endpoint. Luckily the\u000adefinition was not used in the code base, so this is not fixing any\u000aproblem visible on the protocol level.\u000a\u000aChange-Id: Ieb756c37402c4ebea32cc3cd23ba3842f4c0df3e\u000a",
        "date" : "2026-03-10 16:27:13 +0000",
        "id" : "f2f1bb884194f04f306993de16841b606d5c0fc6",
        "msg" : "ccid: Fix [unused] RDR_to_PC_Hardware_Error struct definition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_proto.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/ccid_slot_fsm.c"
        ],
        "commitId" : "9805f86d74edfe6c1d1f2fa20c843370abde768b",
        "timestamp" : 1773169782000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ccid_slot_fsm.c: Reject T=0 TPDU > 260 bytes\u000a\u000aThe CCID v1.1 ch 6.1.4 specification states a T=0 TPDU must not exceed 260 bytes,\u000aso let's properly handle this error case.\u000a\u000aChange-Id: Iceb0013adf448fe56c909fd8ccf14a021d8b7331\u000a",
        "date" : "2026-03-10 19:09:42 +0000",
        "id" : "9805f86d74edfe6c1d1f2fa20c843370abde768b",
        "msg" : "ccid_slot_fsm.c: Reject T=0 TPDU > 260 bytes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_slot_fsm.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/gcc/Makefile"
        ],
        "commitId" : "b72e2a90bf8951c1412bf64b9c0ea58738c42f33",
        "timestamp" : 1773346538000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ensure libosmocore logging is properly disabled for builds\u000a\u000aChange-Id: I169a059d8daff0a3993318a4ea3ab7adcb05fee3\u000a",
        "date" : "2026-03-12 20:15:38 +0000",
        "id" : "b72e2a90bf8951c1412bf64b9c0ea58738c42f33",
        "msg" : "ensure libosmocore logging is properly disabled for builds",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/gcc/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ccid_common/ccid_device.c"
        ],
        "commitId" : "e9b2b3ddc9ae326fc3b866e8d6c12b4859951b30",
        "timestamp" : 1773346669000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ccid: generate proper error for short messages\u000a\u000aChange-Id: I3bf0bebd361666a2f3d0341444415a6f25d2b4bf\u000a",
        "date" : "2026-03-12 20:17:49 +0000",
        "id" : "e9b2b3ddc9ae326fc3b866e8d6c12b4859951b30",
        "msg" : "ccid: generate proper error for short messages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_device.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/main.c"
        ],
        "commitId" : "639db145ed16f59a3a1cee72dde4dfef32f3d545",
        "timestamp" : 1773346669000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "firmware: fix msgb/list mixed irq access handling\u000a\u000aThis fixes the mishandling of in_progress and the queues in the submit\u000afunctions that are in part irq driven, too, and ensures nothing breaks\u000aby preventing concurrent access from irqs to the queues. Applying the\u000asame pattern to all functions/cases is fine either way.\u000a\u000aOn top of all of tha the out ep was irq driven, so if submit_next_out\u000afails it was stuck, now fixed by attempted submit from main loop, and of\u000acourse the queue manipulation should be irq safe here as well.\u000a\u000aChange-Id: I9212bfa7688cb4d3161ba963b854225744128632\u000a",
        "date" : "2026-03-12 20:17:49 +0000",
        "id" : "639db145ed16f59a3a1cee72dde4dfef32f3d545",
        "msg" : "firmware: fix msgb/list mixed irq access handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/libosmo_emb.h",
          "sysmoOCTSIM/libosmo_emb.c"
        ],
        "commitId" : "2e49ae297ea4669f5d8359165845101ef4d40b44",
        "timestamp" : 1774546264000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/ewild",
          "fullName" : "ewild"
        },
        "authorEmail" : "ewild@sysmocom.de",
        "comment" : "firmware: add tear-free 64bit load/store helpers for jiffies\u000a\u000aOn Cortex-M4 a 64bit load may compile to two separate LDR\u000ainstructions which can lead to torn reads due to interrupts.\u000aLDRD/STRD are restartable, they either complete or restart from\u000ascratch, so the result is always consistent. The only \"downside\" is the\u000arequired alignment, which is fine.\u000a\u000aChange-Id: I729c0fdfb5b228b03c2df1cf098743100b1ea625\u000a",
        "date" : "2026-03-26 18:31:04 +0100",
        "id" : "2e49ae297ea4669f5d8359165845101ef4d40b44",
        "msg" : "firmware: add tear-free 64bit load/store helpers for jiffies",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/libosmo_emb.c"
          },
          {
            "editType" : "add",
            "file" : "sysmoOCTSIM/libosmo_emb.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".checkpatch.conf",
          "ccid_common/iso7816_fsm.c",
          "ccid_common/ccid_slot_fsm.c",
          "sysmoOCTSIM/main.c",
          "ccid_common/cuart.h",
          "ccid_host/Makefile",
          "ccid_host/libosmo_emb.c",
          "ccid_common/cuart.c",
          "ccid_host/libosmo_emb.h"
        ],
        "commitId" : "7ae9a65c7fadf3d9d89370761c7352cbcac83a00",
        "timestamp" : 1774641259000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/ewild",
          "fullName" : "ewild"
        },
        "authorEmail" : "ewild@sysmocom.de",
        "comment" : "firmware: replace libosmocore fsm timers\u000a\u000aConcurrent access from main loop and the different uart irqs was not\u000agoing well and caused crashes. The libosmocore fsm does still allocate\u000aone internal timer, but it is not used by the firmware, so libosmocore\u000awill not touch the rbtree.\u000a\u000aAdditionally ignore checkpatch jiffies complaints because we're trying\u000ato do firmware here.\u000a\u000aCloses: SYS#7877\u000aChange-Id: Id2bd67b3946bb451008965f0b68b4a919f4d10bd\u000a",
        "date" : "2026-03-27 20:54:19 +0100",
        "id" : "7ae9a65c7fadf3d9d89370761c7352cbcac83a00",
        "msg" : "firmware: replace libosmocore fsm timers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ccid_common/cuart.h"
          },
          {
            "editType" : "add",
            "file" : "ccid_host/libosmo_emb.h"
          },
          {
            "editType" : "edit",
            "file" : "ccid_common/iso7816_fsm.c"
          },
          {
            "editType" : "edit",
            "file" : "ccid_host/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/main.c"
          },
          {
            "editType" : "add",
            "file" : "ccid_host/libosmo_emb.c"
          },
          {
            "editType" : "edit",
            "file" : "ccid_common/ccid_slot_fsm.c"
          },
          {
            "editType" : "edit",
            "file" : ".checkpatch.conf"
          },
          {
            "editType" : "edit",
            "file" : "ccid_common/cuart.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/libosmo_emb.c"
        ],
        "commitId" : "5a7093d0ce26d8d316ea4156712c83104a68d4c5",
        "timestamp" : 1774879326000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/ewild",
          "fullName" : "ewild"
        },
        "authorEmail" : "ewild@sysmocom.de",
        "comment" : "firmware: fix timers, add missing return\u000a\u000aChange-Id: I5b12284c88d8fe6e4fe55cc4cd2aad550d276af4\u000a",
        "date" : "2026-03-30 16:02:06 +0200",
        "id" : "5a7093d0ce26d8d316ea4156712c83104a68d4c5",
        "msg" : "firmware: fix timers, add missing return",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/libosmo_emb.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sysmoOCTSIM/gcc/Makefile"
        ],
        "commitId" : "116df678f9a7887c828e5744d1fab9399c8ef6d3",
        "timestamp" : 1774879673000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/ewild",
          "fullName" : "ewild"
        },
        "authorEmail" : "ewild@sysmocom.de",
        "comment" : "firmware: werror on missing return\u000a\u000aSilently ignoring a missing return just broke all timers,\u000aso prevent similar mistakes in the future.\u000a\u000aChange-Id: I2e25884077af6334c9e9ddace3900b04061fae04\u000a",
        "date" : "2026-03-30 16:07:53 +0200",
        "id" : "116df678f9a7887c828e5744d1fab9399c8ef6d3",
        "msg" : "firmware: werror on missing return",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "sysmoOCTSIM/gcc/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/jenkins.sh"
        ],
        "commitId" : "be7b3124f870855c64815849d5271d80703bf293",
        "timestamp" : 1775123067000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/osmith",
          "fullName" : "Oliver Smith"
        },
        "authorEmail" : "osmith@sysmocom.de",
        "comment" : "contrib/jenkins: add SKIP_FIRMWARE_CLEAN argument\u000a\u000aIf this is set, then don't clean the firmware at the end. This is needed\u000ato store the built firmware as artifact in jenkins, for passing it along\u000ato another job.\u000a\u000aRelated: SYS#7963\u000aChange-Id: I9e2342b8111645ef5d3b7bf4ac364ca592aa600b\u000a",
        "date" : "2026-04-02 11:44:27 +0200",
        "id" : "be7b3124f870855c64815849d5271d80703bf293",
        "msg" : "contrib/jenkins: add SKIP_FIRMWARE_CLEAN argument",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins.sh"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
      "fullName" : "Vadim Yanitskiy"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/ewild",
      "fullName" : "ewild"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/osmith",
      "fullName" : "Oliver Smith"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/lynxis",
      "fullName" : "lynxis"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    }
  ],
  "runs" : [
    {
      "number" : 2415,
      "url" : "https://jenkins.osmocom.org/jenkins/job/master-osmo-ccid-firmware/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/2415/"
    }
  ]
}