summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomas schorpp <thomas.schorpp@googlemail.com>2008-10-03 21:45:29 (GMT)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-10-23 16:42:16 (GMT)
commit7583221f6066978487f14caf31b4ea5d99713bfa (patch)
tree2f855c9339ca476841a4339875583072e8c3aca6
parentd91ab4e7df0c0c9f98c830e04e875f39d41b21f6 (diff)
downloadlinux-7583221f6066978487f14caf31b4ea5d99713bfa.tar.xz
[SCSI] aic7xxx: Take the LED out of diagnostic mode on PM resume
Take the Diag/Activity-LED of the HBA out of diagnostic mode on PM resume after successful PM resume from standby and HBA restart, it remained always on before. If something fails before complete recovery, it should remain on, since it is a diagnostics LED, reason for the used higher layer for the clear. Signed-off-by: thomas.schorpp@gmail.com Acked-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c b/drivers/scsi/aic7xxx/aic7xxx_core.c
index 0ae2b46..e6f2bb7 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_core.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_core.c
@@ -814,6 +814,7 @@ ahc_intr(struct ahc_softc *ahc)
static void
ahc_restart(struct ahc_softc *ahc)
{
+ uint8_t sblkctl;
ahc_pause(ahc);
@@ -868,6 +869,12 @@ ahc_restart(struct ahc_softc *ahc)
ahc_outb(ahc, SEQADDR0, 0);
ahc_outb(ahc, SEQADDR1, 0);
+ /*
+ * Take the LED out of diagnostic mode on PM resume, too
+ */
+ sblkctl = ahc_inb(ahc, SBLKCTL);
+ ahc_outb(ahc, SBLKCTL, (sblkctl & ~(DIAGLEDEN|DIAGLEDON)));
+
ahc_unpause(ahc);
}