aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libfc/fc_disc.c
diff options
context:
space:
mode:
authorJoe Eykholt <jeykholt@cisco.com>2009-11-03 14:50:21 -0500
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 13:01:27 -0500
commitb94f8951bf256674eca3f2a490df17521442afef (patch)
treeae6b246eb65f7ef73167a2b582ce7e670158a958 /drivers/scsi/libfc/fc_disc.c
parentbe276cbe1bd680ab1f6c297017dd658e5a6b10d2 (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.c5
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;
375err: 375err:
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;