SchOS/kernel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz 27bf91cfe0 usb: recover endpoint 0 after a failed request; report-protocol keyboards
From the first boot on real hardware: a Razer mouse's control transfer
failed with a babble, and an ITE controller's late endpoint-0 completion
was reported as an "unexpected event" during a command.

A failed control transfer left endpoint 0 halted (or, on a timeout, still
running with TRBs queued), so every request after it to that device failed
too. It is now reset or stopped and its dequeue pointer moved past what was
left on the ring. A STALL -- a device declining a request it does not
implement -- is logged only on a verbose boot.

HID interfaces without the boot subclass were turned away unless they had a
pointer. The report descriptor's keyboard page is now read too -- modifier
bits, a key array, an NKRO bitmap -- and each report rewritten into the boot
layout for the existing path. Checked with QEMU's usb-kbd forced into report
protocol: "echo Hi", Shift included, typed and ran.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
2026-10-22 23:47:17 +02:00
..
acpi acpi: uACPI, for interrupt routing, the power button and power-off 2026-10-22 16:12:28 +02:00
arch/x86_64 gfx: draw the console in RAM, and write it to the card write-combined 2026-10-22 23:46:58 +02:00
core psogm: fit the report on an 800x600 screen 2026-10-22 23:47:07 +02:00
dev gfx: draw the console in RAM, and write it to the card write-combined 2026-10-22 23:46:58 +02:00
drivers usb: recover endpoint 0 after a failed request; report-protocol keyboards 2026-10-22 23:47:17 +02:00
fs licence: SchOS is GPL-2.0-or-later, no longer Apache-2.0 2026-10-22 08:48:45 +02:00
net licence: SchOS is GPL-2.0-or-later, no longer Apache-2.0 2026-10-22 08:48:45 +02:00
proc storage: AHCI, GPT/MBR partitions, and a disk a PC can boot 2026-10-22 10:57:41 +02:00
sys acpi: uACPI, for interrupt routing, the power button and power-off 2026-10-22 16:12:28 +02:00
kernel.ld debugger: the kernel can be asked a question 2026-09-14 00:58:45 +02:00