| Previous | Next |
| EBADE | ENETUNREACH |
EL2HLT
EL2HLT: Linux legacy errno
EL2HLT (errno 2) reports that the legacy level-2 communications subsystem is halted. These names come from historical System V/XENIX compatibility interfaces; on modern Linux they usually point to a driver, STREAMS-compatibility layer, or legacy IPC contract rather than a general filesystem error.
Evidence to capture
Record device/stream, level-2 module state, last control event, and first failing system call. Save errno immediately after the failing call, together with its return value, because later library or logging calls can overwrite thread-local error state.
Focused test
verify the module state and reproduce with a known-good stream on the same driver stack. Keep the process, device/endpoint and deployed driver version fixed so the comparison changes only the suspected boundary.
Correction
restore or reattach the halted level-2 component before retrying the operation. If the interface is provided by a compatibility driver, verify its documented ABI and object lifetime instead of assuming that a numerically similar errno from another UNIX has the same contract.
Verification
Repeat the original system call and confirm it passes the former EL2HLT boundary with the same object identity. If another errno appears, preserve it as a separate result from the next failing operation.
Technical references
- Linux man-pages: errno(3)
- Linux kernel: asm-generic errno definitions
- GNU C Library: error codes
- illumos: STREAMS programming documentation
Looking for a different code? Search another status or error code.
