>On 2010/09/23 15:13, Marco Pfatschbacher wrote:
>> On Wed, Sep 22, 2010 at 06:11:58PM +0200, Mike Belopuhov wrote:
>> > there's nothing special about this driver. as it does usual iic_exec's,
>> > i'm not sure what can be actually fixed there. so if nobody has any
>> > idea what could be done about it, you have my okay to disable it
>> > completely.
>>
>> It's not the drivers fault, it seems that polling on piixpm(4)
>> causes hangs on ServerWorks HT-1000 chips.
I don't believe it. If you searched around, I think you would find
HT-1000 machines where it does work.
The iic bus drivers are full of bugs. They need maintainers. There
are some nasty SMI-related issues, but in general what they are doing
is pretty simple. They are such simple drivers and nearly anyone
could jump in and help.
>>
>> Index: piixpm.c
>> ===================================================================
>> RCS file: /cvs/src/sys/dev/pci/piixpm.c,v
>> retrieving revision 1.34
>> diff -p -u -r1.34 piixpm.c
>> --- piixpm.c 8 Apr 2010 00:23:53 -0000 1.34
>> +++ piixpm.c 23 Sep 2010 13:08:36 -0000
>> @@ -159,6 +159,10 @@ piixpm_attach(struct device *parent, str
>> if (sc->sc_poll)
>> printf(": polling");
>> }
>> + if (sc->sc_poll) {
>> + printf(" disabled\n");
>> + return;
>> + }
>>
>> printf("\n");
>>
>
>This seems a bigger hammer than necessary unless there are
>similar problems with all piixpm polling devices.
Or we could simply disable all of the iic subsystem, since this
same bug might occur on other systems.
Yet in another mail, on another machine you were enabling ipmi.
How odd. ipmi breaks on lots of machines too, which is why it is
disabled.
That diff you are submitting is wrong. There is a bug, and it
should be found and fixed.
In one way I am happy you are running into driver bugs. It might
drive you to get involved. We're always looking for driver hackers.