diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-04-12 05:33:05 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-04-12 05:33:05 +0000 |
commit | a2f7e4cd809a3596f9193537d4e95258b819c10f (patch) | |
tree | fdf4920e8b6c9043e35e6d1506ba42e85851f900 /sys/dev | |
parent | a392da2987232f952cff8b06bceb6d5ce0e1ec5e (diff) |
This has been a pain in the ass for about 8 months which made new ICP
cards lock up under load: skip two initializations that we were
previously told to use by ICP themselves (ie. from their linux
driver). now we are not supposed to use those APIs, because the new
firmwares for their new cards become unrealiable. and that is all we
have been able to find out. sigh.
For some cards, you must also be sure to get a new boot firmware from
ICP because they made another mistake: Any bootblock that tried to
switch back and forth between real and protected mode ended up with
corrupted registers.
from Achim_Leubner@adaptec.com, via niklas, tested on a few cards
by a few people.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/gdt_common.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/sys/dev/ic/gdt_common.c b/sys/dev/ic/gdt_common.c index 6df31fc7521..8e1631b5c25 100644 --- a/sys/dev/ic/gdt_common.c +++ b/sys/dev/ic/gdt_common.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gdt_common.c,v 1.27 2003/12/16 09:27:45 niklas Exp $ */ +/* $OpenBSD: gdt_common.c,v 1.28 2004/04/12 05:33:04 deraadt Exp $ */ /* * Copyright (c) 1999, 2000, 2003 Niklas Hallqvist. All rights reserved. @@ -58,7 +58,7 @@ int gdt_maxcmds = GDT_MAXCMDS; #endif #define GDT_DRIVER_VERSION 1 -#define GDT_DRIVER_SUBVERSION 1 +#define GDT_DRIVER_SUBVERSION 2 int gdt_async_event(struct gdt_softc *, int); void gdt_chain(struct gdt_softc *); @@ -175,19 +175,6 @@ gdt_attach(gdt) return (1); } - if (!gdt_internal_cmd(gdt, GDT_CACHESERVICE, GDT_MOUNT, 0xffff, 1, - 0)) { - printf("cache service mount error %d\n", - gdt->sc_status); - return (1); - } - - if (!gdt_internal_cmd(gdt, GDT_CACHESERVICE, GDT_INIT, GDT_LINUX_OS, 0, - 0)) { - printf("cache service post-mount initialization error %d\n", - gdt->sc_status); - return (1); - } cdev_cnt = (u_int16_t)gdt->sc_info; /* Detect number of busses */ |