Current-Users archive

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

Re: A regression



On Thu, Mar 04, 2010 at 01:41:12PM +0200, Jukka Ruohonen wrote:
> On Mon, Mar 01, 2010 at 02:05:27PM +0200, Jukka Ruohonen wrote:
> > Somewhere between February 23 and today (March 1) something broke my laptop
> > quite badly:
> 
> I located the change that caused this:
> 
> ommitted By:   bouyer
> Date:           Tue Feb 23 21:38:36 UTC 2010
>   
> Modified Files:
>         src/sys/dev/ic: ahcisata_core.c 
>   
> Log Message:
> Move ahci_channel_start() after BSY has cleared (what seems to matter
> here is not touching SError while BSY is asserted). Fix random
> behavior (serial console corruption/misfunction, misbehavior of USB
> controllers, crasy interrupts crashing the Xen hypervisor, ...)
> of Intel ESB2 controller with some brand of hitachi drives.


Funny, you seems to have similar issues to what I see *without* this
change on the affected server.
This change makes the initialisation sequence closer to what FreeBSD does.

Can you see if the attached patch helps with your problem ?
With this patch, our initialisation sequence matches FreeBSD, AFAIK.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--
Index: ahcisata_core.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/ahcisata_core.c,v
retrieving revision 1.23
diff -u -p -u -r1.23 ahcisata_core.c
--- ahcisata_core.c     23 Feb 2010 21:38:36 -0000      1.23
+++ ahcisata_core.c     10 Mar 2010 14:31:27 -0000
@@ -560,6 +560,9 @@ ahci_probe_drive(struct ata_channel *chp
                chp->ch_drive[i].drive = i;
        }
 
+       /* stop channel */
+       ahci_channel_stop(sc, chp, AT_WAIT);
+
        /* bring interface up, accept FISs, power up and spin up device */
        AHCI_WRITE(sc, AHCI_P_CMD(chp->ch_channel),
            AHCI_P_CMD_ICC_AC | AHCI_P_CMD_FRE |


Home | Main Index | Thread Index | Old Index