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 --- |