xhci broken on 10-CURRENT and 2013 MacBook Air?

Lundberg, Johannes johannes at brilliantservice.co.jp
Fri Aug 30 09:35:35 UTC 2013


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








Johannes Lundberg
BRILLIANTSERVICE CO., LTD. <http://www.brilliantservice.co.jp>


On Fri, Aug 30, 2013 at 8:42 AM, Hans Petter Selasky <hps at bitfrost.no>wrote:

> On 08/30/13 08:09, Lundberg, Johannes wrote:
>
>> What I got so far is this;
>>
>> USB driver from current stops after
>> xhci0: 32 byte context size
>>
>> While driver from 9.1 continues to the next step which is
>> usbus0 on xhci0
>> xhci0: usbpf: Attached
>> ...
>>
>> I can try adding some printf's in the code and see if I get some more..
>>
>>
> Hi,
>
> There are only a few commits to the xhci driver since 9.1 was releases, so
> this should be easy to figure out.
>
> I'm doing a wild guess. Can you try the attached patch. It will ensure
> that any BIOS generated interrupts get cleared before we reset the
> controller.
>
> --HPS
>
>


More information about the freebsd-current mailing list