usb-ehci: Clear pipe token on pipe reallocate

Make sure to clear the token before reuse as it may otherwise have an
incorrect toggle setting.

Signed-off-by: Kevin O'Connor <>
(cherry picked from commit 996d3c0297135f12ff3eda40dcb464b2375926e5)
diff --git a/src/hw/usb-ehci.c b/src/hw/usb-ehci.c
index 7eca55b..d01fa85 100644
--- a/src/hw/usb-ehci.c
+++ b/src/hw/usb-ehci.c
@@ -467,6 +467,7 @@
         // Use previously allocated pipe.
         struct ehci_pipe *pipe = container_of(usbpipe, struct ehci_pipe, pipe);
         ehci_desc2pipe(pipe, usbdev, epdesc);
+        pipe->qh.token = 0;
         return usbpipe;