From 3c890ee460949853edd26da07607b0e854ef1096 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 4 Mar 2012 11:57:52 +0100 Subject: [PATCH 30/35] usb-ehci: Remove dead nakcnt code RH-Author: Hans de Goede Message-id: <1330862278-22314-16-git-send-email-hdegoede@redhat.com> Patchwork-id: 37930 O-Subject: [PATCH 15/21] usb-ehci: Remove dead nakcnt code Bugzilla: 758104 RH-Acked-by: Hans de Goede RH-Acked-by: Gerd Hoffmann RH-Acked-by: Alon Levy RH-Acked-by: Markus Armbruster This patch removes 2 bits of dead nakcnt code: 1) usb_ehci_execute calls ehci_qh_do_overlay which does: nakcnt = reload; and then has a block of code which is conditional on: if (reload && !nakcnt) { which ofcourse is never true now as nakcnt == reload. 2) ehci_state_fetchqh does: nakcnt = reload; but before nakcnt is ever used ehci_state_fetchqh is always followed by a ehci_qh_do_overlay call which also does: nakcnt = reload; So doing this from ehci_state_fetchqh is redundant. Signed-off-by: Hans de Goede Upstream commit: aa73fcdcc1bf4157121716e2eb3230130b0d1232 Upstream: http://patchwork.ozlabs.org/patch/144356/ (waiting for next usb pull request) --- hw/usb-ehci.c | 20 -------------------- 1 files changed, 0 insertions(+), 20 deletions(-) Signed-off-by: Michal Novotny --- hw/usb-ehci.c | 20 -------------------- 1 files changed, 0 insertions(+), 20 deletions(-) diff --git a/hw/usb-ehci.c b/hw/usb-ehci.c index 47975c1..cbf6e45 100644 --- a/hw/usb-ehci.c +++ b/hw/usb-ehci.c @@ -1628,7 +1628,6 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci, int async) { uint32_t entry; EHCIQueue *q; - int reload; entry = ehci_get_fetch_addr(ehci, async); q = ehci_find_queue_by_qh(ehci, entry, async); @@ -1685,11 +1684,6 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci, int async) } #endif - reload = get_field(q->qh.epchar, QH_EPCHAR_RL); - if (reload) { - set_field(&q->qh.altnext_qtd, reload, QH_ALTNEXT_NAKCNT); - } - if (q->qh.token & QTD_TOKEN_HALT) { ehci_set_state(ehci, async, EST_HORIZONTALQH); @@ -1824,25 +1818,11 @@ static void ehci_flush_qh(EHCIQueue *q) static int ehci_state_execute(EHCIQueue *q, int async) { int again = 0; - int reload, nakcnt; - int smask; if (ehci_qh_do_overlay(q) != 0) { return -1; } - smask = get_field(q->qh.epcap, QH_EPCAP_SMASK); - - if (!smask) { - reload = get_field(q->qh.epchar, QH_EPCHAR_RL); - nakcnt = get_field(q->qh.altnext_qtd, QH_ALTNEXT_NAKCNT); - if (reload && !nakcnt) { - ehci_set_state(q->ehci, async, EST_HORIZONTALQH); - again = 1; - goto out; - } - } - // TODO verify enough time remains in the uframe as in 4.4.1.1 // TODO write back ptr to async list when done or out of time // TODO Windows does not seem to ever set the MULT field -- 1.7.7.6