xhci broken on 10-CURRENT and 2013 MacBook Air?

Hans Petter Selasky hps at bitfrost.no
Fri Aug 30 10:11:55 UTC 2013


On 08/30/13 11:35, Lundberg, Johannes wrote:
> Hi Hans
>
> I tried the patch and the result is the same. However, I found the command
> that causes the freeze. Also, it is not always it freezes but maybe 9/10
> reboots or more frequently.
>
> At the end of the function xhci_start_controller(..) there is a for loop:
>
> 487        for (i = 0; i != 100; i++) {
> 488                usb_pause_mtx(NULL, hz / 100);
> 489                temp = XREAD4(sc, oper, XHCI_USBSTS) & XHCI_STS_HCH;
> 490                if (!temp)
> 491                        break;
> 492        }
>
> and it freezes at usb_pause_mtx(...)
> value of i is 0
> value of hz is 1000

Hi,

Can you try the attached patch?

I think this is a problem inside DELAY(). Maybe you have to select 
another timing source for DELAY(), mav @ CC'ed?

--HPS

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pause_fix.diff
Type: text/x-patch
Size: 971 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-usb/attachments/20130830/9dc6417f/attachment.bin>


More information about the freebsd-usb mailing list