Subject: Re: haning after pciicd0
To: None <port-i386@netbsd.org>
From: Hanspeter Roth <hanspeter_roth@hotmail.com>
List: port-i386
Date: 03/14/2001 20:50:43
On Monday, March 12, 2001 at 9:28:40 PM, Manuel Bouyer wrote:

> On Sun, Mar 11, 2001 at 10:48:54PM +0100, Hanspeter Roth wrote:
>> 
[...]
>>
>> When I had lot of trace stuff it seemed to me that the problem was
>> less reproducable.
>> In dev/ic/wdc.c I changed the condition for the second invocation
>> of ata_get_params from "error != CMD_OK" to "error == CMD_AGAIN".
>> This seemed to solve the problem when checking pciide0:0:1 but
>> it occasionally hung while checking pciide0:1:1.
>> It seems to me timing is also playing a role.

> Did you try to add some delay between the 2 attemps ?

Ok. I changed the condition back to the original one and changed the
delay from 1 to 3 seconds.
And it hangs in delay() (arch/i386/isa/clock.c) maybe in gettick() !
This occurs when booting from poweroff.
When rebooting it continues (with some trace output enabled).

>> I'm considering playing with PCIC_ISA_INTR_ALLOC_MASK and
>> PCIBIOS_IRQS_HINT. But I have no idea what I should set them to...

> PCIC_ISA_INTR_ALLOC_MASK is only for PCMCIA controllers, it won't help here.
> As for PCIBIOS_IRQS_HINT, I guess your pciide controller is in legaty
> mode, so this won't have any effect either.

Hm. But INSTALL_LAPTOP states:
# Avoid irq 5 and 7, the most likely cause of problems on modern laptops.
options         PCIC_ISA_INTR_ALLOC_MASK=0xff5f

-- 
Hanspeter Roth <hanspeter_roth@hotmail.com>