diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2008-01-31 14:36:50 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-02-07 19:02:37 -0500 |
commit | ad294e9cd11d029fc0d09ab129fba5bea46de0dc (patch) | |
tree | af02c1550725c5e2a20e785ed8cda0ab1f09c6a4 /drivers/scsi/libiscsi.c | |
parent | 921601b7031f8a2c71f49f1b965ee00ebbca6886 (diff) |
[SCSI] libiscsi: fix setting of nop timer
If we rollover then we could get a next_timeout of zero, so we need
to set the new timer to that value.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r-- | drivers/scsi/libiscsi.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index c8c00e173414..b2a1ec8725b8 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c | |||
@@ -1384,14 +1384,11 @@ static void iscsi_check_transport_timeouts(unsigned long data) | |||
1384 | iscsi_send_nopout(conn, NULL); | 1384 | iscsi_send_nopout(conn, NULL); |
1385 | } | 1385 | } |
1386 | next_timeout = last_recv + timeout + (conn->ping_timeout * HZ); | 1386 | next_timeout = last_recv + timeout + (conn->ping_timeout * HZ); |
1387 | } else { | 1387 | } else |
1388 | next_timeout = last_recv + timeout; | 1388 | next_timeout = last_recv + timeout; |
1389 | } | ||
1390 | 1389 | ||
1391 | if (next_timeout) { | 1390 | debug_scsi("Setting next tmo %lu\n", next_timeout); |
1392 | debug_scsi("Setting next tmo %lu\n", next_timeout); | 1391 | mod_timer(&conn->transport_timer, next_timeout); |
1393 | mod_timer(&conn->transport_timer, next_timeout); | ||
1394 | } | ||
1395 | done: | 1392 | done: |
1396 | spin_unlock(&session->lock); | 1393 | spin_unlock(&session->lock); |
1397 | } | 1394 | } |