aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fcoe
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/fcoe')
-rw-r--r--drivers/scsi/fcoe/fcoe.c6
-rw-r--r--drivers/scsi/fcoe/fcoe_transport.c5
2 files changed, 5 insertions, 6 deletions
diff --git a/drivers/scsi/fcoe/fcoe.c b/drivers/scsi/fcoe/fcoe.c
index acb3767fdae4..335e85192807 100644
--- a/drivers/scsi/fcoe/fcoe.c
+++ b/drivers/scsi/fcoe/fcoe.c
@@ -1552,7 +1552,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp)
1552 1552
1553 /* crc offload */ 1553 /* crc offload */
1554 if (likely(lport->crc_offload)) { 1554 if (likely(lport->crc_offload)) {
1555 skb->ip_summed = CHECKSUM_PARTIAL; 1555 skb->ip_summed = CHECKSUM_UNNECESSARY;
1556 skb->csum_start = skb_headroom(skb); 1556 skb->csum_start = skb_headroom(skb);
1557 skb->csum_offset = skb->len; 1557 skb->csum_offset = skb->len;
1558 crc = 0; 1558 crc = 0;
@@ -1569,7 +1569,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp)
1569 return -ENOMEM; 1569 return -ENOMEM;
1570 } 1570 }
1571 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; 1571 frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1];
1572 cp = kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ) 1572 cp = kmap_atomic(skb_frag_page(frag))
1573 + frag->page_offset; 1573 + frag->page_offset;
1574 } else { 1574 } else {
1575 cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); 1575 cp = (struct fcoe_crc_eof *)skb_put(skb, tlen);
@@ -1580,7 +1580,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp)
1580 cp->fcoe_crc32 = cpu_to_le32(~crc); 1580 cp->fcoe_crc32 = cpu_to_le32(~crc);
1581 1581
1582 if (skb_is_nonlinear(skb)) { 1582 if (skb_is_nonlinear(skb)) {
1583 kunmap_atomic(cp, KM_SKB_DATA_SOFTIRQ); 1583 kunmap_atomic(cp);
1584 cp = NULL; 1584 cp = NULL;
1585 } 1585 }
1586 1586
diff --git a/drivers/scsi/fcoe/fcoe_transport.c b/drivers/scsi/fcoe/fcoe_transport.c
index 0897be0ad7b6..710e149d41b6 100644
--- a/drivers/scsi/fcoe/fcoe_transport.c
+++ b/drivers/scsi/fcoe/fcoe_transport.c
@@ -210,10 +210,9 @@ u32 fcoe_fc_crc(struct fc_frame *fp)
210 while (len > 0) { 210 while (len > 0) {
211 clen = min(len, PAGE_SIZE - (off & ~PAGE_MASK)); 211 clen = min(len, PAGE_SIZE - (off & ~PAGE_MASK));
212 data = kmap_atomic( 212 data = kmap_atomic(
213 skb_frag_page(frag) + (off >> PAGE_SHIFT), 213 skb_frag_page(frag) + (off >> PAGE_SHIFT));
214 KM_SKB_DATA_SOFTIRQ);
215 crc = crc32(crc, data + (off & ~PAGE_MASK), clen); 214 crc = crc32(crc, data + (off & ~PAGE_MASK), clen);
216 kunmap_atomic(data, KM_SKB_DATA_SOFTIRQ); 215 kunmap_atomic(data);
217 off += clen; 216 off += clen;
218 len -= clen; 217 len -= clen;
219 } 218 }