[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 9/9] uhci: Don't queue up packets after one with the
From: |
Hans de Goede |
Subject: |
[Qemu-devel] [PATCH 9/9] uhci: Don't queue up packets after one with the SPD flag set |
Date: |
Wed, 12 Sep 2012 15:08:40 +0200 |
Don't queue up packets after a packet with the SPD (short packet detect)
flag set. Since we won't know if the packet will actually be short until it
has completed, and if it is short we should stop the queue.
This fixes a miniature photoframe emulating a USB cdrom with the windows
software for it not working.
Signed-off-by: Hans de Goede <address@hidden>
---
hw/usb/hcd-uhci.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index c7c8786..cdc8bc3 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -1000,6 +1000,9 @@ static void uhci_fill_queue(UHCIState *s, UHCI_TD *td)
}
assert(ret == TD_RESULT_ASYNC_START);
assert(int_mask == 0);
+ if (ptd.ctrl & TD_CTRL_SPD) {
+ break;
+ }
plink = ptd.link;
}
}
@@ -1097,7 +1100,7 @@ static void uhci_process_frame(UHCIState *s)
case TD_RESULT_ASYNC_START:
trace_usb_uhci_td_async(curr_qh & ~0xf, link & ~0xf);
- if (is_valid(td.link)) {
+ if (is_valid(td.link) && !(td.ctrl & TD_CTRL_SPD)) {
uhci_fill_queue(s, &td);
}
link = curr_qh ? qh.link : td.link;
--
1.7.12
- [Qemu-devel] [PATCH 1/9] ehci: Don't set seen to 0 when removing unseen queue-heads, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 1/9] ehci: Don't set seen to 0 when removing unseen queue-heads, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 2/9] ehci: Walk async schedule before and after migration, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 5/9] usb-redir: Store max_packet_size in endp_data, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 3/9] usb-redir: Change cancelled packet code into a generic packet-id queue, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 4/9] usb-redir: Add an already_in_flight packet-id queue, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 7/9] usb-redir: Add chardev open / close debug logging, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 6/9] usb-redir: Add support for migration, Hans de Goede, 2012/09/12
- [Qemu-devel] [PATCH 9/9] uhci: Don't queue up packets after one with the SPD flag set,
Hans de Goede <=
- [Qemu-devel] [PATCH 8/9] usb-redir: Revert usb-redir part of commit 93bfef4c, Hans de Goede, 2012/09/12
- Re: [Qemu-devel] [PATCH 1/9] ehci: Don't set seen to 0 when removing unseen queue-heads, Gerd Hoffmann, 2012/09/13