HcPeriodCurrentED is read-only, but Linux writes to it anyway; silently
ignore this rather than printing a warning message.

(Specifically, drivers/usb/host/ohci-hub.c:ohci_rh_resume() writes a
0, in at least kernels 2.6.25 through 2.6.39.)

Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
LXR reference for your convenience:
 http://lxr.free-electrons.com/source/drivers/usb/host/ohci-hub.c#L209

I'm not sure what the consensus is for cases like this where QEMU's correct
to warn about dodgy device access but a popular operating system(tm) does
them anyway. Suppressing the warning seems a bit more user-friendly to
the average QEMU user...

 hw/usb-ohci.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c
index 347814e..23a5e66 100644
--- a/hw/usb-ohci.c
+++ b/hw/usb-ohci.c
@@ -1591,6 +1591,10 @@ static void ohci_mem_write(void *ptr, target_phys_addr_t 
addr, uint32_t val)
         ohci->hcca = val & OHCI_HCCA_MASK;
         break;
 
+    case 7: /* HcPeriodCurrentED */
+        /* Ignore writes to this read-only register, Linux does them */
+        break;
+
     case 8: /* HcControlHeadED */
         ohci->ctrl_head = val & OHCI_EDPTR_MASK;
         break;
-- 
1.7.1


Reply via email to