diff options
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r-- | drivers/scsi/libfc/fc_lport.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c index 46897cf23ea6..ccba67ca68a1 100644 --- a/drivers/scsi/libfc/fc_lport.c +++ b/drivers/scsi/libfc/fc_lport.c | |||
@@ -1449,6 +1449,9 @@ static void fc_lport_flogi_resp(struct fc_seq *sp, struct fc_frame *fp, | |||
1449 | e_d_tov = ntohl(flp->fl_csp.sp_e_d_tov); | 1449 | e_d_tov = ntohl(flp->fl_csp.sp_e_d_tov); |
1450 | if (csp_flags & FC_SP_FT_EDTR) | 1450 | if (csp_flags & FC_SP_FT_EDTR) |
1451 | e_d_tov /= 1000000; | 1451 | e_d_tov /= 1000000; |
1452 | |||
1453 | lport->npiv_enabled = !!(csp_flags & FC_SP_FT_NPIV_ACC); | ||
1454 | |||
1452 | if ((csp_flags & FC_SP_FT_FPORT) == 0) { | 1455 | if ((csp_flags & FC_SP_FT_FPORT) == 0) { |
1453 | if (e_d_tov > lport->e_d_tov) | 1456 | if (e_d_tov > lport->e_d_tov) |
1454 | lport->e_d_tov = e_d_tov; | 1457 | lport->e_d_tov = e_d_tov; |
@@ -1498,7 +1501,8 @@ void fc_lport_enter_flogi(struct fc_lport *lport) | |||
1498 | if (!fp) | 1501 | if (!fp) |
1499 | return fc_lport_error(lport, fp); | 1502 | return fc_lport_error(lport, fp); |
1500 | 1503 | ||
1501 | if (!lport->tt.elsct_send(lport, FC_FID_FLOGI, fp, ELS_FLOGI, | 1504 | if (!lport->tt.elsct_send(lport, FC_FID_FLOGI, fp, |
1505 | lport->vport ? ELS_FDISC : ELS_FLOGI, | ||
1502 | fc_lport_flogi_resp, lport, lport->e_d_tov)) | 1506 | fc_lport_flogi_resp, lport, lport->e_d_tov)) |
1503 | fc_lport_error(lport, NULL); | 1507 | fc_lport_error(lport, NULL); |
1504 | } | 1508 | } |