Re: [PATCH v2] OHCI: add a quirk for ULi M5237 blocking on reset

From: Arseny Solokha
Date: Tue Dec 23 2014 - 00:37:08 EST


> On Sat, 6 Dec 2014, Arseny Solokha wrote:
>
>> From: Arseny Solokha <asolokha@xxxxxxxxxx>
>>
>> Commit 8dccddbc2368 ("OHCI: final fix for NVIDIA problems (I hope)")
>> introduced into 3.1.9 broke boot on e.g. Freescale P2020DS development
>> board. The code path that was previously specific to NVIDIA controllers
>> had then become taken for all chips.
>>
>> However, the M5237 installed on the board wedges solid when accessing
>> its base+OHCI_FMINTERVAL register, making it impossible to boot any
>> kernel newer than 3.1.8 on this particular and apparently other similar
>> machines.
>>
>> Don't readl() and writel() base+OHCI_FMINTERVAL on PCI ID 10b9:5237.
>>
>> The patch is suitable for the -next tree as well as all maintained
>> kernels up to 3.2 inclusive.
>>
>> Signed-off-by: Arseny Solokha <asolokha@xxxxxxxxxx>
>> ---
>> Changes in v2:
>> - review comments applied
>
> Much better this time.
>
> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

Meanwhile, I discovered a similar thread where the issue was previously
discussed, and have tried to implement a workaround suggested in [1]. No luck so
far: even if the code manages to check a value returned by
readl(base + OHCI_FMINTERVAL), it then still hangs during device unregistering.

Of course, unregistering a device instead of just not accessing OHCI_FMINTERVAL
like in my or Nikita's patch is also possible but it requires hardcoding all
flawed device IDs instead of figuring out misbehaving devices at boot time.


[1] https://lkml.org/lkml/2014/5/29/828

ArsÃny
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/