usb: cancel async packets on unplug
This patch adds USBBusOps struct with (for now) only a single callbackwhich is called when a device is about to be destroyed. The USB Hostadapters are implementing this callback and use it to cancel any asyncrequests which might be in flight before the device actually goes away....
usb-ehci: drop EXECUTING checks.
The state machine doesn't stop in EXECUTING state any more when asyncpackets are in flight, so the checks are not needed any more and canbe dropped.
Also kick out the check for the frame timer. As we don't stop & sleep...
Fix USB mouse Set_Protocol behavior
The QEMU USB mouse claims to support the "boot" protocol(bInterfaceSubClass is 1). However, the mouse rejects theSet_Protocol command.
The qemu mouse does support the "boot" protocol specification, so asimple fix is to enable the Set_Protocol request....
The USB tablet should not claim boot protocol support.
The USB tablet advertises that it supports the "boot" protocol.However, its reports aren't "boot" protocol compatible. So, itshouldn't claim that.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>...
usb-ehci: fix offset writeback in ehci_buffer_rw
Two bugs at once:
First the mask is backwards, so the it used to keeps the offset andclears the page address, which is not what we need when we update theoffset.
Second the offset calculation is wrong in case head isn't page aligned....
usb-ehci: fix error handling.
Set the correct bits for nodev, stall and babble errors.Raise errint irq. Fix state transition from WRITEBACKto the next state.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
ehci: fix a number of unused-but-set-variable warnings (new with gcc-4.6)
usb-ehci: multiqueue support
This patch adds support for keeping multiple queues going at the sametime. One slow device will not affect other devices any more.
The patch adds code to manage EHCIQueue structs. It also does a numberof changes to the state machine:...
usb-ehci: trace buffer copy
Add a trace point for buffer copies and drop the DPRINTF's.
No change in behavior.
usb-ehci: add queue data struct
Add EHCIQueue struct, move the fields needed to track the queue stateinto that struct. Pass the new struct instead of ehci state down tofunctions which handle the queue state. Lot of variable references havechanged due to that without an actual functional change....
View revisions
Also available in: Atom