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