Re: solo6010 modprobe lockup since e1ceb25a (v4.3 regression)

From: Krzysztof HaÅasa
Date: Tue Sep 27 2016 - 01:28:10 EST


Andrey Utkin <andrey_utkin@xxxxxxxxxxxx> writes:

>> Does (only) adding the
>>
>> pci_read_config_word(solo_dev->pdev, PCI_STATUS, &val);
>>
>> in solo_reg_write() help?
>
> Yes.
> I have posted a patch with this change few days ago, I thought you have
> noticed it.

Well, I think you haven't sent me a copy. Anyway, it would be great to
determine where exactly writes need a flush. Adding it everywhere is a
bit suboptimal, one would think.

Can you share some details about the machine you are experiencing the
problems on? CPU, chipset? I'd try to see if I can recreate the problem.

Alternatively, you could investigate yourself - at first you could put
pci_read_config_word() at the end of subroutines (including return
statements) using solo_reg_write(). And in that solo_p2m_dma_desc(),
before wait_for_completion_timeout(). Then eliminate them using some
sort of binary search to see which ones are required.
--
Krzysztof Halasa

Industrial Research Institute for Automation and Measurements PIAP
Al. Jerozolimskie 202, 02-486 Warsaw, Poland