We are always sending the max frame size from lport->mfs when sending the FIP
keep alive even there are no vport desciptors. There is no need to send the
full sized frame for keep-alive.

Signed-off-by: Yi Zou <[email protected]>
---

 drivers/scsi/fcoe/libfcoe.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index 2988b71..b9c56ff 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -351,8 +351,9 @@ 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);
+       if (len < ETH_ZLEN)
+               len = ETH_ZLEN;
        skb = dev_alloc_skb(len);
        if (!skb)
                return;

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to