fcoe.c (c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2) fcoe.c (b54c9d5bd6e38edac9ce3a3f95f14a1292b5268d)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright(c) 2007 - 2009 Intel Corporation. All rights reserved.
4 *
5 * Maintained at www.Open-FCoE.org
6 */
7
8#include <linux/module.h>

--- 1508 unchanged lines hidden (view full) ---

1517 /* copy port crc and eof to the skb buff */
1518 if (skb_is_nonlinear(skb)) {
1519 skb_frag_t *frag;
1520 if (fcoe_alloc_paged_crc_eof(skb, tlen)) {
1521 kfree_skb(skb);
1522 return -ENOMEM;
1523 }
1524 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1];
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright(c) 2007 - 2009 Intel Corporation. All rights reserved.
4 *
5 * Maintained at www.Open-FCoE.org
6 */
7
8#include <linux/module.h>

--- 1508 unchanged lines hidden (view full) ---

1517 /* copy port crc and eof to the skb buff */
1518 if (skb_is_nonlinear(skb)) {
1519 skb_frag_t *frag;
1520 if (fcoe_alloc_paged_crc_eof(skb, tlen)) {
1521 kfree_skb(skb);
1522 return -ENOMEM;
1523 }
1524 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1];
1525 cp = kmap_atomic(skb_frag_page(frag))
1526 + frag->page_offset;
1525 cp = kmap_atomic(skb_frag_page(frag)) + skb_frag_off(frag);
1527 } else {
1528 cp = skb_put(skb, tlen);
1529 }
1530
1531 memset(cp, 0, sizeof(*cp));
1532 cp->fcoe_eof = eof;
1533 cp->fcoe_crc32 = cpu_to_le32(~crc);
1534

--- 1300 unchanged lines hidden ---
1526 } else {
1527 cp = skb_put(skb, tlen);
1528 }
1529
1530 memset(cp, 0, sizeof(*cp));
1531 cp->fcoe_eof = eof;
1532 cp->fcoe_crc32 = cpu_to_le32(~crc);
1533

--- 1300 unchanged lines hidden ---