Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6990c64 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by James Bottomley
Browse files

[SCSI] aacraid: Fix down_interruptible() to check the return value



Instead of ignoring the return value in aac_fib_send() return 2 to
indicate to the layers above that fib transmission was aborted due to
timeout.

Signed-off-by: default avatarMark Salyzyn <aacraid@adaptec.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 582df153
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -515,10 +515,12 @@ int aac_fib_send(u16 command, struct fib *fibptr, unsigned long size,
				}
				udelay(5);
			}
		} else
			(void)down_interruptible(&fibptr->event_wait);
		} else if (down_interruptible(&fibptr->event_wait) == 0) {
			fibptr->done = 2;
			up(&fibptr->event_wait);
		}
		spin_lock_irqsave(&fibptr->event_lock, flags);
		if (fibptr->done == 0) {
		if ((fibptr->done == 0) || (fibptr->done == 2)) {
			fibptr->done = 2; /* Tell interrupt we aborted */
			spin_unlock_irqrestore(&fibptr->event_lock, flags);
			return -EINTR;