[SCSI] aacraid: Detect Blinkled at startup
Received from Mark Salyzyn: Blinkled at startup is useful for catching Adapters in a lot of pain, in a BlinkLED assert, quickly; rather than waiting several minutes for commands to timeout. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
51d23da95c
commit
33524b70e8
1 changed files with 9 additions and 0 deletions
|
@ -518,6 +518,7 @@ int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size,
|
|||
*/
|
||||
unsigned long count = 36000000L; /* 3 minutes */
|
||||
while (down_trylock(&fibptr->event_wait)) {
|
||||
int blink;
|
||||
if (--count == 0) {
|
||||
spin_lock_irqsave(q->lock, qflags);
|
||||
q->numpending--;
|
||||
|
@ -530,6 +531,14 @@ int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size,
|
|||
}
|
||||
return -ETIMEDOUT;
|
||||
}
|
||||
if ((blink = aac_adapter_check_health(dev)) > 0) {
|
||||
if (wait == -1) {
|
||||
printk(KERN_ERR "aacraid: aac_fib_send: adapter blinkLED 0x%x.\n"
|
||||
"Usually a result of a serious unrecoverable hardware problem\n",
|
||||
blink);
|
||||
}
|
||||
return -EFAULT;
|
||||
}
|
||||
udelay(5);
|
||||
}
|
||||
} else if (down_interruptible(&fibptr->event_wait)) {
|
||||
|
|
Reference in a new issue