[SCSI] libfcoe: Do not pad FIP keep-alive to full frame size
Yi Zou [Tue, 3 Nov 2009 19:50:16 +0000 (11:50 -0800)]
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 2988b71..3c501d4 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;