Re: [Regression] Changes to i2c-piix4.c initialisation prevent loading of sp5100_tco watchdog driver on AMD SB800 chipset

From: Guenter Roeck
Date: Sat Apr 01 2017 - 09:32:54 EST


On 04/01/2017 03:13 AM, Boszormenyi Zoltan wrote:
2017-03-31 17:05 keltezÃssel, Guenter Roeck Ãrta:
On Fri, Mar 31, 2017 at 04:46:02PM +0200, Boszormenyi Zoltan wrote:
2017-03-31 14:49 keltezÃssel, Guenter Roeck Ãrta:
request_muxed_region() can fail, and literally every other driver
using it checks for that failure. Please do the same.

In what circumstances can request_muxed_region() fail? As far as
I can see, only if two drivers use the same I/O port base and the
already present region did not use IORESOURCE_MUXED which is
not the case here. When request_muxed_region() is used consistently,
subsequent requests are put on a wait queue and the first one is
woken up when the region is released. So, it's basically a mutex.
Am I missing something here?


Yes. failure to allocate the resource is one.

So, a common mutex should be used.


Just because you don't want to check for errors ?

I am not on favor of your new solution. I think it violates layering all over
the place, and I dislike the idea of having a global mutex as you propose.
I won't shut it down, but I'll let others provide feedback on your new series
of patches.

Guenter

I have also added synchronization to the USB PCI quirks code and
have split the patch into three pieces now (USB quirks, i2c-piix4 and
sp5100_tco) and they were sent to the relevant mailing lists.

I don't know which subsystem wants to take it, all 3 patches are
needed at once.

Best regards,
ZoltÃn BÃszÃrmÃnyi