summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/commctrl.c
diff options
context:
space:
mode:
authorMark Haverkamp <markh@osdl.org>2005-08-03 15:39:25 -0700
committerJames Bottomley <jejb@mulgrave.(none)>2005-08-05 16:52:42 -0500
commit12a26d0879d8a4502425037e9013b1f64ed669b7 (patch)
tree26e6fc63e82f9baf0d615a89a2da9000c85a0cce /drivers/scsi/aacraid/commctrl.c
parente53cb35aaefb83de695e3fd305b9cfabd5bf8c86 (diff)
downloadlinux-12a26d0879d8a4502425037e9013b1f64ed669b7.tar.gz
linux-12a26d0879d8a4502425037e9013b1f64ed669b7.tar.bz2
linux-12a26d0879d8a4502425037e9013b1f64ed669b7.zip
[SCSI] aacraid: aif registration timeout fix
Received from Mark Salyzyn from Adaptec: If the Adapter is quiet and does not produce an AIF event packets to be picked up by the management applications for longer than the timeout interval of two minutes, the cleanup code that deals with aging out registrants could erroneously drop the registration. The timeout is there to clean up should the management application die and fail to poll for updated AIF event packets. Moving the timer update from the ioctl code that delivers an AIF to the polling registrant to the bottom of the ioctl means the timeout is reset with any management application polling activity regardless if an AIF is delivered or not removing the erroneous timeout cleanups. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aacraid/commctrl.c')
-rw-r--r--drivers/scsi/aacraid/commctrl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
index 8fceff9be1be..71f1cad9b5f0 100644
--- a/drivers/scsi/aacraid/commctrl.c
+++ b/drivers/scsi/aacraid/commctrl.c
@@ -287,7 +287,6 @@ return_fib:
kfree(fib->hw_fib);
kfree(fib);
status = 0;
- fibctx->jiffies = jiffies/HZ;
} else {
spin_unlock_irqrestore(&dev->fib_lock, flags);
if (f.wait) {
@@ -302,6 +301,7 @@ return_fib:
status = -EAGAIN;
}
}
+ fibctx->jiffies = jiffies/HZ;
return status;
}