summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bnx2fc
diff options
context:
space:
mode:
authorBhanu Prakash Gollapudi <bprakash@broadcom.com>2011-08-05 02:38:48 +0200
committerJames Bottomley <JBottomley@Parallels.com>2011-08-27 16:35:45 +0200
commit3f8744d147375aca902de7a9f2632a89872565f4 (patch)
treefc1c0ac4489141a22e0d98bc28e046a69bc0198a /drivers/scsi/bnx2fc
parent[SCSI] bnx2fc: code cleanup in bnx2fc_offload_session (diff)
downloadlinux-3f8744d147375aca902de7a9f2632a89872565f4.tar.xz
linux-3f8744d147375aca902de7a9f2632a89872565f4.zip
[SCSI] bnx2fc: Drop incoming ABTS
As an initiator, driver need not handle incoming ABTS. It initiates an ABTS if any IO requests time out. Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bnx2fc')
-rw-r--r--drivers/scsi/bnx2fc/bnx2fc_fcoe.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
index ca2e20690b93..62c0e94a916f 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
@@ -547,6 +547,14 @@ static void bnx2fc_recv_frame(struct sk_buff *skb)
break;
}
}
+
+ if (fh->fh_r_ctl == FC_RCTL_BA_ABTS) {
+ /* Drop incoming ABTS */
+ put_cpu();
+ kfree_skb(skb);
+ return;
+ }
+
if (le32_to_cpu(fr_crc(fp)) !=
~crc32(~0, skb->data, fr_len)) {
if (stats->InvalidCRCCount < 5)