summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRyan Wendland <[email protected]>2022-06-04 22:49:07 +0930
committerRyan Wendland <[email protected]>2023-02-18 10:24:21 +1030
commitf87262185ec64e6ad616972720a72ffed65708ac (patch)
tree741f46adb01121dbee3bb70fe39b13ad022a6714 /src
parentcc9c3feeaee69b369aea4fb4f70e4f0fb1033990 (diff)
ohci: Set skip on ed prior to removal
Diffstat (limited to 'src')
-rw-r--r--src/portable/ohci/ohci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/portable/ohci/ohci.c b/src/portable/ohci/ohci.c
index 59ffd2725..d51b9a883 100644
--- a/src/portable/ohci/ohci.c
+++ b/src/portable/ohci/ohci.c
@@ -377,12 +377,16 @@ static void ed_list_remove_by_addr(ohci_ed_t * p_head, uint8_t dev_addr)
if (ed->dev_addr == dev_addr)
{
+ //Prevent Host Controller from processing this ED while we remove it
+ ed->skip = 1;
+
// unlink ed
p_prev->next = ed->next;
// point the removed ED's next pointer to list head to make sure HC can always safely move away from this ED
ed->next = (uint32_t) p_head;
ed->used = 0;
+ ed->skip = 0;
continue;
}