[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Fix improper process of updating TD status field


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Huang, Xinmei" <xinmei.huang@xxxxxxxxx>
  • Date: Wed, 24 Jan 2007 17:02:53 +0800
  • Delivery-date: Wed, 24 Jan 2007 01:03:51 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acc/lm7HEvW01u5OTkShFT7qnwZx0w==
  • Thread-topic: [PATCH] Fix improper process of updating TD status field

This patch adds codes to clear TD status field explicitly when it's
fetched. 

In current Qemu-dm, UHC will set some status bits of TD in status
updating stage, but never process the status bit if relevant condition
does not occur, leaving it as it is. 
When a TD is fetched with some status bits are set to 1, it will return
to Guest OS with these bits set to 1 even this TD is executed
successfully. Some Windows OS, e.g. Windows 2000, will check status bits
of TD in UHC interrupt routine, treat it as a unsuccessful one if some
status bits are set to 1 and discard the data. Other Windows OS just
check USBSTS of UHC, ignoring status field of TD unless the value of
USBSTS indicates occurrence of error.

With this patch, USB mouse/tablet in Windows 2000 would work normally.

Signed-off-by: Xinmei Huang   <xinmei.huang@xxxxxxxxx>

Attachment: usb_win2k.patch
Description: usb_win2k.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.