From mboxrd@z Thu Jan 1 00:00:00 1970 From: Max Krasnyansky Subject: [PATCH] uhci: Change default transaction lifetime to 32 frames Date: Sat, 6 Sep 2008 05:40:23 +0000 Message-ID: <1220679623-7934-1-git-send-email-maxk@kernel.org> Cc: kvm@vger.kernel.org, Max Krasnyansky To: anthony@codemonkey.ws, aurelien@aurel32.net, qemu-devel@nongnu.org Return-path: Received: from hera.kernel.org ([140.211.167.34]:54428 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751650AbYIFFlG (ORCPT ); Sat, 6 Sep 2008 01:41:06 -0400 Sender: kvm-owner@vger.kernel.org List-ID: Transaction lifetime was originally set to 10 frames. That was an arbitrary number I picked without much thinking :). I'm changing that to 32 frames because things like interrupt transfers and such are scheduled at that rate. It seems like 1/32 is accepted as lowest supported rate. OHCI, for example, defines exactly 32 interrupt heads. While testing USB webcam under XP I noticed that interrupt transactions were being canceled and then resubmitted on a regular basis, which works but is a waste of CPU cycles. This change fixes that. All other devices I have are not affected. Signed-off-by: Max Krasnyansky --- hw/usb-uhci.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c index 62c743d..b90cf78 100644 --- a/hw/usb-uhci.c +++ b/hw/usb-uhci.c @@ -781,7 +781,7 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, uint32_t *in async = uhci_async_find_td(s, addr, td->token); if (async) { /* Already submitted */ - async->valid = 10; + async->valid = 32; if (!async->done) return 1; -- 1.5.5.1