From 2fac3e5dc59b26e0e5e43c25be7bd56e52e93d95 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 8 May 2023 17:13:34 +0600 Subject: [PATCH] usb: don't process EOF on very first SOF --- src/usb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/usb.c b/src/usb.c index f6262e11f..1dd6aa02c 100644 --- a/src/usb.c +++ b/src/usb.c @@ -552,7 +552,8 @@ void ohci_end_of_frame(usb_t* dev) { usb_hcca_t hcca; - /* TODO: Put endpoint and transfer descriptor processing here. */ + if (dev->ohci_initial_start) + return; dma_bm_read(dev->ohci_mmio[OHCI_HcHCCA].l, (uint8_t*)&hcca, sizeof(usb_hcca_t), 4); if (dev->ohci_mmio[OHCI_HcControl].l & OHCI_HcControl_PeriodicListEnable) { @@ -605,6 +606,7 @@ ohci_end_of_frame(usb_t* dev) void ohci_start_of_frame(usb_t* dev) { + dev->ohci_initial_start = 0; ohci_set_interrupt(dev, OHCI_HcInterruptEnable_SO); }