[SCSI] libfcoe: Do not pad FIP keep-alive to full frame size
authorYi Zou <yi.zou@intel.com>
Tue, 3 Nov 2009 19:50:16 +0000 (11:50 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 4 Dec 2009 18:01:27 +0000 (12:01 -0600)
According to the FC-BB-5 Rev2.0, 7.8.6.2, we should not pad FIP keep-alive
frames.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/fcoe/libfcoe.c

index 2988b71d1e8747b5dfa4ad953af08dc72f5eea5b..3c501d4973e3f02ec50ecc1aff2085daeae166ca 100644 (file)
@@ -351,8 +351,7 @@ static void fcoe_ctlr_send_keep_alive(struct fcoe_ctlr *fip,
        if (!fcf || !fc_host_port_id(lp->host))
                return;
 
-       len = fcoe_ctlr_fcoe_size(fip) + sizeof(struct ethhdr);
-       BUG_ON(len < sizeof(*kal) + sizeof(*vn));
+       len = sizeof(*kal) + ports * sizeof(*vn);
        skb = dev_alloc_skb(len);
        if (!skb)
                return;