Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: amd64-current won't boot (another one)



On 6 July 2012 18:42, Manuel Bouyer <bouyer%antioche.eu.org@localhost> wrote:
> On Fri, Jul 06, 2012 at 11:39:08AM +0100, Chavdar Ivanov wrote:
>> On 6 July 2012 10:52, Chavdar Ivanov <ci4ic4%gmail.com@localhost> wrote:
>> > Hi,
>> >
>> > The last amd64 6.99.8 to work for me was from 26/06 (but then I had a
>> > few days missed, as I was moving room in the office and the kit was
>> > powered down).
>> >
>> > The good dmesg is attached.
>> >
>> > On the newer builds I get
>> >
>> > ahcisata0 channel 0: clearing WDCTL_RST failed for drive 0
>> > ahcisata0 channel 2: clearing WDCTL_RST failed for drive 0
>>
>>
>> The trivial (and most likely wrong) patch:
>>
>> --- sys/dev/ic/ahcisata_core.c.ORIG   2012-07-06 11:21:25.000000000 +0100
>> +++ sys/dev/ic/ahcisata_core.c        2012-07-06 11:21:46.000000000 +0100
>> @@ -685,17 +685,6 @@
>>       cmd_tbl->cmdt_cfis[fis_type] = RHD_FISTYPE;
>>       cmd_tbl->cmdt_cfis[rhd_c] = drive;
>>       cmd_tbl->cmdt_cfis[rhd_control] = 0;
>> -     switch(ahci_exec_fis(chp, 31, flags)) {
>> -     case ERR_DF:
>> -     case TIMEOUT:
>> -             aprint_error("%s channel %d: clearing WDCTL_RST failed "
>> -                 "for drive %d\n", AHCINAME(sc), chp->ch_channel, drive);
>> -             if (sigp)
>> -                     *sigp = 0xffffffff;
>> -             goto end;
>> -     default:
>> -             break;
>> -     }
>>       /*
>>        * wait 31s for BSY to clear
>>        * This should not be needed, but some controllers clear the
>>
>> gets me working again, so it is something in rev. 1.35 of
>> ahcisata_core.c; the ball is with Manuel then.
>
> that's strange, especially as setting the RST bit did work.
> It would be interesting to know if it's a TIMEOUT or DF.
> Could you see if setting cmd_tbl->cmdt_cfis[rhd_control] to WDCTL_4BITS
> instead of 0 would help ?
> Also, maybe try a DELAY() of 5000 to 10000 before this ahci_exec_fis().
> Last, you could see if the attached patch helps.

That patch did the job (tried first ignoring TIMEOUT and DF, then
setting to WDCTL_4BIT, no difference).

I'll file a pr.

Chavdar

>
> --
> Manuel Bouyer <bouyer%antioche.eu.org@localhost>
>      NetBSD: 26 ans d'experience feront toujours la difference
> --



-- 
----


Home | Main Index | Thread Index | Old Index