[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-1.2 07/11] ehci: simplify ehci_state_executing
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH for-1.2 07/11] ehci: simplify ehci_state_executing |
Date: |
Fri, 31 Aug 2012 16:19:18 +0200 |
From: Hans de Goede <address@hidden>
ehci_state_executing does not need to check for p->usb_status == USB_RET_ASYNC
or USB_RET_PROCERR, since ehci_execute_complete already does a similar check
and will trigger an assert if either value is encountered.
USB_RET_ASYNC should never be the packet status when execute_complete runs
for obvious reasons, and USB_RET_PROCERR is only used by ehci_state_execute /
ehci_execute not by ehci_state_executing / ehci_execute_complete.
Signed-off-by: Hans de Goede <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/usb/hcd-ehci.c | 13 +------------
1 files changed, 1 insertions(+), 12 deletions(-)
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index 923a949..b6169ce 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -2084,19 +2084,11 @@ out:
static int ehci_state_executing(EHCIQueue *q)
{
EHCIPacket *p = QTAILQ_FIRST(&q->packets);
- int again = 0;
assert(p != NULL);
assert(p->qtdaddr == q->qtdaddr);
ehci_execute_complete(q);
- if (p->usb_status == USB_RET_ASYNC) {
- goto out;
- }
- if (p->usb_status == USB_RET_PROCERR) {
- again = -1;
- goto out;
- }
// 4.10.3
if (!q->async) {
@@ -2114,11 +2106,8 @@ static int ehci_state_executing(EHCIQueue *q)
ehci_set_state(q->ehci, q->async, EST_WRITEBACK);
}
- again = 1;
-
-out:
ehci_flush_qh(q);
- return again;
+ return 1;
}
--
1.7.1
- [Qemu-devel] [PULL for-1.2 00/11] usb patch queue, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 10/11] ehci: Fix interrupt endpoints no longer working, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 03/11] usb: unique packet ids, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 07/11] ehci: simplify ehci_state_executing,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH for-1.2 04/11] ehci: Fix NULL ptr deref when unplugging an USB dev with an iso stream active, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 05/11] ehci: Schedule async-bh when IAAD bit gets set, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 09/11] ehci: handle TD deactivation of inflight packets, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 11/11] uas: move transfer kickoff, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 06/11] ehci: Remove unnecessary ehci_flush_qh call, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 08/11] ehci: add ehci_cancel_queue(), Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 02/11] usb: Halt ep queue en cancel pending packets on a packet error, Gerd Hoffmann, 2012/08/31
- [Qemu-devel] [PATCH for-1.2 01/11] fix info qtree indention, Gerd Hoffmann, 2012/08/31