This series ultimately permits relaxed ordering of USB mass-storage
packets from the host, as allowed by the usbmassbulk 1.0 spec, but
not usually seen in drivers. AIX drivers do require this ordering.
The RFC unsurprisingly had no comments, it wasn't polished well so
don't bother to look at it. This one I tried to split it up nicely,
add some improvements that help readability and robustness first.
Importantly I kept vmstate compatibility here and didn't do a big
rip up of the whole model but managed to find a nice way to fit it
in the existing design, and I think the end result is just as good
or better.
Thanks,
Nick
Nicholas Piggin (11):
usb/msd: Add status to usb_msd_packet_complete() function
usb/msd: Split in and out packet handling
usb/msd: Ensure packet structure layout is correct
usb/msd: Improved handling of mass storage reset
usb/msd: Improve packet validation error logging
usb/msd: Allow CBW packet size greater than 31
usb/msd: Split async packet tracking into data and csw
usb/msd: Add some additional assertions
usb/msd: Rename mode to cbw_state, and tweak names
usb/msd: Permit a DATA-IN or CSW packet before CBW packet
usb/msd: Add more tracing
include/hw/usb/msd.h | 18 +-
hw/usb/dev-storage.c | 517 ++++++++++++++++++++++++++++---------------
hw/usb/trace-events | 9 +-
3 files changed, 360 insertions(+), 184 deletions(-)
--
2.45.2