mirror of https://gitee.com/openkylin/linux.git
[SCSI] bnx2fc: Allow FLOGI to be retried when receiving bad responses.
Commit 907c07d451
added more cases to do FLOGI
retry on receiving bad response. Remove the code that drops the packet and
allow the stack to handle bad FLOGI response.
Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
72c04af9a2
commit
de9c05fafc
|
@ -854,7 +854,6 @@ static void bnx2fc_flogi_resp(struct fc_seq *seq, struct fc_frame *fp,
|
||||||
struct fc_exch *exch = fc_seq_exch(seq);
|
struct fc_exch *exch = fc_seq_exch(seq);
|
||||||
struct fc_lport *lport = exch->lp;
|
struct fc_lport *lport = exch->lp;
|
||||||
u8 *mac;
|
u8 *mac;
|
||||||
struct fc_frame_header *fh;
|
|
||||||
u8 op;
|
u8 op;
|
||||||
|
|
||||||
if (IS_ERR(fp))
|
if (IS_ERR(fp))
|
||||||
|
@ -862,13 +861,6 @@ static void bnx2fc_flogi_resp(struct fc_seq *seq, struct fc_frame *fp,
|
||||||
|
|
||||||
mac = fr_cb(fp)->granted_mac;
|
mac = fr_cb(fp)->granted_mac;
|
||||||
if (is_zero_ether_addr(mac)) {
|
if (is_zero_ether_addr(mac)) {
|
||||||
fh = fc_frame_header_get(fp);
|
|
||||||
if (fh->fh_type != FC_TYPE_ELS) {
|
|
||||||
printk(KERN_ERR PFX "bnx2fc_flogi_resp:"
|
|
||||||
"fh_type != FC_TYPE_ELS\n");
|
|
||||||
fc_frame_free(fp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
op = fc_frame_payload_op(fp);
|
op = fc_frame_payload_op(fp);
|
||||||
if (lport->vport) {
|
if (lport->vport) {
|
||||||
if (op == ELS_LS_RJT) {
|
if (op == ELS_LS_RJT) {
|
||||||
|
@ -878,11 +870,9 @@ static void bnx2fc_flogi_resp(struct fc_seq *seq, struct fc_frame *fp,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fcoe_ctlr_recv_flogi(fip, lport, fp)) {
|
fcoe_ctlr_recv_flogi(fip, lport, fp);
|
||||||
fc_frame_free(fp);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if (!is_zero_ether_addr(mac))
|
||||||
fip->update_mac(lport, mac);
|
fip->update_mac(lport, mac);
|
||||||
done:
|
done:
|
||||||
fc_lport_flogi_resp(seq, fp, lport);
|
fc_lport_flogi_resp(seq, fp, lport);
|
||||||
|
|
Loading…
Reference in New Issue