diff options
author | Joe Eykholt <jeykholt@cisco.com> | 2009-11-03 14:50:21 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-12-04 13:01:27 -0500 |
commit | b94f8951bf256674eca3f2a490df17521442afef (patch) | |
tree | ae6b246eb65f7ef73167a2b582ce7e670158a958 /drivers/scsi/libfc/fc_disc.c | |
parent | be276cbe1bd680ab1f6c297017dd658e5a6b10d2 (diff) |
[SCSI] libfc fcoe: increase ELS and CT timeouts
The FC-LS spec. says ELS timeouts should be 2 x R_A_TOV.
The FC-GS spec. says CT timeouts should be 3 x R_A_TOV.
We've been using E_D_TOV for both of those.
Change for all ELS and CT requests except FLOGI, which we
leave at 2 seconds (using E_D_TOV). One could argue that
R_A_TOV is locally determined until after FLOGI succeeds.
This does change FLOGI for vports which becomes FDISC.
This does not change the REC/SRR timeout which is 2 seconds.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libfc/fc_disc.c')
-rw-r--r-- | drivers/scsi/libfc/fc_disc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/libfc/fc_disc.c b/drivers/scsi/libfc/fc_disc.c index 7b790ad15a9..9b0a5192a96 100644 --- a/drivers/scsi/libfc/fc_disc.c +++ b/drivers/scsi/libfc/fc_disc.c | |||
@@ -370,7 +370,7 @@ static void fc_disc_gpn_ft_req(struct fc_disc *disc) | |||
370 | if (lport->tt.elsct_send(lport, 0, fp, | 370 | if (lport->tt.elsct_send(lport, 0, fp, |
371 | FC_NS_GPN_FT, | 371 | FC_NS_GPN_FT, |
372 | fc_disc_gpn_ft_resp, | 372 | fc_disc_gpn_ft_resp, |
373 | disc, lport->e_d_tov)) | 373 | disc, 3 * lport->r_a_tov)) |
374 | return; | 374 | return; |
375 | err: | 375 | err: |
376 | fc_disc_error(disc, NULL); | 376 | fc_disc_error(disc, NULL); |
@@ -654,7 +654,8 @@ static int fc_disc_gpn_id_req(struct fc_lport *lport, | |||
654 | if (!fp) | 654 | if (!fp) |
655 | return -ENOMEM; | 655 | return -ENOMEM; |
656 | if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, FC_NS_GPN_ID, | 656 | if (!lport->tt.elsct_send(lport, rdata->ids.port_id, fp, FC_NS_GPN_ID, |
657 | fc_disc_gpn_id_resp, rdata, lport->e_d_tov)) | 657 | fc_disc_gpn_id_resp, rdata, |
658 | 3 * lport->r_a_tov)) | ||
658 | return -ENOMEM; | 659 | return -ENOMEM; |
659 | kref_get(&rdata->kref); | 660 | kref_get(&rdata->kref); |
660 | return 0; | 661 | return 0; |