[SCSI] aacraid: superfluous adapter reset for IBM 8 series ServeRAID controllers
authorSalyzyn, Mark <mark_salyzyn@adaptec.com>
Tue, 1 May 2007 15:43:06 +0000 (11:43 -0400)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Sun, 6 May 2007 14:48:21 +0000 (09:48 -0500)
The kexec patch introduced a superfluous (and otherwise inert) reset of
some adapters. The register can have a hardware default value that has
zeros for the undefined interrupts. This patch refines the test of the
interrupt enable register to focus on only the interrupts that affect
the driver in order to detect if an incomplete shutdown of the Adapter
had occurred (kdump).

Signed-off-by: Mark Salyzyn <aacraid@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/aacraid/rx.c

index b6ee3c0a7820a8c48e673c66b5106b991eaad3dd..291cd14f4e989737b0f54c289250a6cb006a67e0 100644 (file)
@@ -542,7 +542,7 @@ int _aac_rx_init(struct aac_dev *dev)
        dev->a_ops.adapter_sync_cmd = rx_sync_cmd;
        dev->a_ops.adapter_enable_int = aac_rx_disable_interrupt;
        dev->OIMR = status = rx_readb (dev, MUnit.OIMR);
-       if ((((status & 0xff) != 0xff) || reset_devices) &&
+       if ((((status & 0x0c) != 0x0c) || reset_devices) &&
          !aac_rx_restart_adapter(dev, 0))
                ++restart;
        /*