mirror of
https://github.com/gdsports/USBHost_t36
synced 2024-11-24 01:52:23 -05:00
Fix scheduling of hub control transfers
This commit is contained in:
parent
1e6d0db268
commit
5ea0d568a1
3
hub.cpp
3
hub.cpp
@ -210,6 +210,7 @@ void USBHub::control(const Transfer_t *transfer)
|
|||||||
println("USBHub control callback");
|
println("USBHub control callback");
|
||||||
print_hexbytes(transfer->buffer, transfer->length);
|
print_hexbytes(transfer->buffer, transfer->length);
|
||||||
|
|
||||||
|
sending_control_transfer = 0;
|
||||||
uint32_t port = transfer->setup.wIndex;
|
uint32_t port = transfer->setup.wIndex;
|
||||||
uint32_t mesg = transfer->setup.word1;
|
uint32_t mesg = transfer->setup.word1;
|
||||||
|
|
||||||
@ -265,7 +266,7 @@ void USBHub::control(const Transfer_t *transfer)
|
|||||||
// allow only a single control transfer to occur at once
|
// allow only a single control transfer to occur at once
|
||||||
// which isn't fast, but requires only 3 Transfer_t and
|
// which isn't fast, but requires only 3 Transfer_t and
|
||||||
// allows reusing the setup and other buffers
|
// allows reusing the setup and other buffers
|
||||||
sending_control_transfer = 0;
|
if (sending_control_transfer) return;
|
||||||
if (send_pending_poweron) {
|
if (send_pending_poweron) {
|
||||||
send_poweron(lowestbit(send_pending_poweron));
|
send_poweron(lowestbit(send_pending_poweron));
|
||||||
} else if (send_pending_clearstatus_connect) {
|
} else if (send_pending_clearstatus_connect) {
|
||||||
|
Loading…
Reference in New Issue
Block a user