| Submitter | Gerd Hoffmann |
|---|---|
| Date | Nov. 13, 2012, 4:31 p.m. |
| Message ID | <50A275EE.10004@redhat.com> |
| Download | mbox | patch |
| Permalink | /patch/198736/ |
| State | New |
| Headers | show |
Comments
On Tue, Nov 13, 2012 at 05:31:42PM +0100, Gerd Hoffmann wrote: > The last lines of the log are more useful, which is more than 6500000 > lines like this: > > usb_ehci_opreg_read 4.767 addr=0x2c str=FRINDEX val=0x0 > > So macos seems to expect the frame index updating, and probably frame > list rollover interrupts too. ehci doesn't do that of there is nothing > else to do, to keep the wakeup rate down. > > Does the attached patch change anything? Sure does -- with the patch, OS X boots and runs just fine ! Thanks ! --Gabriel
Patch
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index ee6c9ae..20766d8 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -2209,6 +2209,10 @@ static void ehci_frame_timer(void *opaque) ehci->async_stepdown = 0; } + if (ehci->usbintr & USBSTS_FLR) { + need_timer++; + } + if (need_timer) { /* If we've raised int, we speed up the timer, so that we quickly * notice any new packets queued up in response */