Loading drivers/scsi/arcmsr/arcmsr_hba.c +4 −4 Original line number Original line Diff line number Diff line Loading @@ -1736,7 +1736,7 @@ static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, (uint32_t ) cmd->cmnd[8]; (uint32_t ) cmd->cmnd[8]; /* 4 bytes: Areca io control code */ /* 4 bytes: Areca io control code */ sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); buffer = kmap_atomic(sg_page(sg), KM_IRQ0) + sg->offset; buffer = kmap_atomic(sg_page(sg)) + sg->offset; if (scsi_sg_count(cmd) > 1) { if (scsi_sg_count(cmd) > 1) { retvalue = ARCMSR_MESSAGE_FAIL; retvalue = ARCMSR_MESSAGE_FAIL; goto message_out; goto message_out; Loading Loading @@ -1985,7 +1985,7 @@ static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, } } message_out: message_out: sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); kunmap_atomic(buffer - sg->offset, KM_IRQ0); kunmap_atomic(buffer - sg->offset); return retvalue; return retvalue; } } Loading Loading @@ -2035,11 +2035,11 @@ static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb, strncpy(&inqdata[32], "R001", 4); /* Product Revision */ strncpy(&inqdata[32], "R001", 4); /* Product Revision */ sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); buffer = kmap_atomic(sg_page(sg), KM_IRQ0) + sg->offset; buffer = kmap_atomic(sg_page(sg)) + sg->offset; memcpy(buffer, inqdata, sizeof(inqdata)); memcpy(buffer, inqdata, sizeof(inqdata)); sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); kunmap_atomic(buffer - sg->offset, KM_IRQ0); kunmap_atomic(buffer - sg->offset); cmd->scsi_done(cmd); cmd->scsi_done(cmd); } } Loading drivers/scsi/bnx2fc/bnx2fc_fcoe.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -322,8 +322,7 @@ static int bnx2fc_xmit(struct fc_lport *lport, struct fc_frame *fp) return -ENOMEM; return -ENOMEM; } } frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; cp = kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ) cp = kmap_atomic(skb_frag_page(frag)) + frag->page_offset; + frag->page_offset; } else { } else { cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); } } Loading @@ -332,7 +331,7 @@ static int bnx2fc_xmit(struct fc_lport *lport, struct fc_frame *fp) cp->fcoe_eof = eof; cp->fcoe_eof = eof; cp->fcoe_crc32 = cpu_to_le32(~crc); cp->fcoe_crc32 = cpu_to_le32(~crc); if (skb_is_nonlinear(skb)) { if (skb_is_nonlinear(skb)) { kunmap_atomic(cp, KM_SKB_DATA_SOFTIRQ); kunmap_atomic(cp); cp = NULL; cp = NULL; } } Loading drivers/scsi/cxgbi/libcxgbi.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -1956,12 +1956,11 @@ int cxgbi_conn_init_pdu(struct iscsi_task *task, unsigned int offset, /* data fits in the skb's headroom */ /* data fits in the skb's headroom */ for (i = 0; i < tdata->nr_frags; i++, frag++) { for (i = 0; i < tdata->nr_frags; i++, frag++) { char *src = kmap_atomic(frag->page, char *src = kmap_atomic(frag->page); KM_SOFTIRQ0); memcpy(dst, src+frag->offset, frag->size); memcpy(dst, src+frag->offset, frag->size); dst += frag->size; dst += frag->size; kunmap_atomic(src, KM_SOFTIRQ0); kunmap_atomic(src); } } if (padlen) { if (padlen) { memset(dst, 0, padlen); memset(dst, 0, padlen); Loading drivers/scsi/fcoe/fcoe.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -1515,7 +1515,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp) return -ENOMEM; return -ENOMEM; } } frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; cp = kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ) cp = kmap_atomic(skb_frag_page(frag)) + frag->page_offset; + frag->page_offset; } else { } else { cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); Loading @@ -1526,7 +1526,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp) cp->fcoe_crc32 = cpu_to_le32(~crc); cp->fcoe_crc32 = cpu_to_le32(~crc); if (skb_is_nonlinear(skb)) { if (skb_is_nonlinear(skb)) { kunmap_atomic(cp, KM_SKB_DATA_SOFTIRQ); kunmap_atomic(cp); cp = NULL; cp = NULL; } } Loading drivers/scsi/fcoe/fcoe_transport.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -210,10 +210,9 @@ u32 fcoe_fc_crc(struct fc_frame *fp) while (len > 0) { while (len > 0) { clen = min(len, PAGE_SIZE - (off & ~PAGE_MASK)); clen = min(len, PAGE_SIZE - (off & ~PAGE_MASK)); data = kmap_atomic( data = kmap_atomic( skb_frag_page(frag) + (off >> PAGE_SHIFT), skb_frag_page(frag) + (off >> PAGE_SHIFT)); KM_SKB_DATA_SOFTIRQ); crc = crc32(crc, data + (off & ~PAGE_MASK), clen); crc = crc32(crc, data + (off & ~PAGE_MASK), clen); kunmap_atomic(data, KM_SKB_DATA_SOFTIRQ); kunmap_atomic(data); off += clen; off += clen; len -= clen; len -= clen; } } Loading Loading
drivers/scsi/arcmsr/arcmsr_hba.c +4 −4 Original line number Original line Diff line number Diff line Loading @@ -1736,7 +1736,7 @@ static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, (uint32_t ) cmd->cmnd[8]; (uint32_t ) cmd->cmnd[8]; /* 4 bytes: Areca io control code */ /* 4 bytes: Areca io control code */ sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); buffer = kmap_atomic(sg_page(sg), KM_IRQ0) + sg->offset; buffer = kmap_atomic(sg_page(sg)) + sg->offset; if (scsi_sg_count(cmd) > 1) { if (scsi_sg_count(cmd) > 1) { retvalue = ARCMSR_MESSAGE_FAIL; retvalue = ARCMSR_MESSAGE_FAIL; goto message_out; goto message_out; Loading Loading @@ -1985,7 +1985,7 @@ static int arcmsr_iop_message_xfer(struct AdapterControlBlock *acb, } } message_out: message_out: sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); kunmap_atomic(buffer - sg->offset, KM_IRQ0); kunmap_atomic(buffer - sg->offset); return retvalue; return retvalue; } } Loading Loading @@ -2035,11 +2035,11 @@ static void arcmsr_handle_virtual_command(struct AdapterControlBlock *acb, strncpy(&inqdata[32], "R001", 4); /* Product Revision */ strncpy(&inqdata[32], "R001", 4); /* Product Revision */ sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); buffer = kmap_atomic(sg_page(sg), KM_IRQ0) + sg->offset; buffer = kmap_atomic(sg_page(sg)) + sg->offset; memcpy(buffer, inqdata, sizeof(inqdata)); memcpy(buffer, inqdata, sizeof(inqdata)); sg = scsi_sglist(cmd); sg = scsi_sglist(cmd); kunmap_atomic(buffer - sg->offset, KM_IRQ0); kunmap_atomic(buffer - sg->offset); cmd->scsi_done(cmd); cmd->scsi_done(cmd); } } Loading
drivers/scsi/bnx2fc/bnx2fc_fcoe.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -322,8 +322,7 @@ static int bnx2fc_xmit(struct fc_lport *lport, struct fc_frame *fp) return -ENOMEM; return -ENOMEM; } } frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; cp = kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ) cp = kmap_atomic(skb_frag_page(frag)) + frag->page_offset; + frag->page_offset; } else { } else { cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); } } Loading @@ -332,7 +331,7 @@ static int bnx2fc_xmit(struct fc_lport *lport, struct fc_frame *fp) cp->fcoe_eof = eof; cp->fcoe_eof = eof; cp->fcoe_crc32 = cpu_to_le32(~crc); cp->fcoe_crc32 = cpu_to_le32(~crc); if (skb_is_nonlinear(skb)) { if (skb_is_nonlinear(skb)) { kunmap_atomic(cp, KM_SKB_DATA_SOFTIRQ); kunmap_atomic(cp); cp = NULL; cp = NULL; } } Loading
drivers/scsi/cxgbi/libcxgbi.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -1956,12 +1956,11 @@ int cxgbi_conn_init_pdu(struct iscsi_task *task, unsigned int offset, /* data fits in the skb's headroom */ /* data fits in the skb's headroom */ for (i = 0; i < tdata->nr_frags; i++, frag++) { for (i = 0; i < tdata->nr_frags; i++, frag++) { char *src = kmap_atomic(frag->page, char *src = kmap_atomic(frag->page); KM_SOFTIRQ0); memcpy(dst, src+frag->offset, frag->size); memcpy(dst, src+frag->offset, frag->size); dst += frag->size; dst += frag->size; kunmap_atomic(src, KM_SOFTIRQ0); kunmap_atomic(src); } } if (padlen) { if (padlen) { memset(dst, 0, padlen); memset(dst, 0, padlen); Loading
drivers/scsi/fcoe/fcoe.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -1515,7 +1515,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp) return -ENOMEM; return -ENOMEM; } } frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; frag = &skb_shinfo(skb)->frags[skb_shinfo(skb)->nr_frags - 1]; cp = kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ) cp = kmap_atomic(skb_frag_page(frag)) + frag->page_offset; + frag->page_offset; } else { } else { cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); cp = (struct fcoe_crc_eof *)skb_put(skb, tlen); Loading @@ -1526,7 +1526,7 @@ static int fcoe_xmit(struct fc_lport *lport, struct fc_frame *fp) cp->fcoe_crc32 = cpu_to_le32(~crc); cp->fcoe_crc32 = cpu_to_le32(~crc); if (skb_is_nonlinear(skb)) { if (skb_is_nonlinear(skb)) { kunmap_atomic(cp, KM_SKB_DATA_SOFTIRQ); kunmap_atomic(cp); cp = NULL; cp = NULL; } } Loading
drivers/scsi/fcoe/fcoe_transport.c +2 −3 Original line number Original line Diff line number Diff line Loading @@ -210,10 +210,9 @@ u32 fcoe_fc_crc(struct fc_frame *fp) while (len > 0) { while (len > 0) { clen = min(len, PAGE_SIZE - (off & ~PAGE_MASK)); clen = min(len, PAGE_SIZE - (off & ~PAGE_MASK)); data = kmap_atomic( data = kmap_atomic( skb_frag_page(frag) + (off >> PAGE_SHIFT), skb_frag_page(frag) + (off >> PAGE_SHIFT)); KM_SKB_DATA_SOFTIRQ); crc = crc32(crc, data + (off & ~PAGE_MASK), clen); crc = crc32(crc, data + (off & ~PAGE_MASK), clen); kunmap_atomic(data, KM_SKB_DATA_SOFTIRQ); kunmap_atomic(data); off += clen; off += clen; len -= clen; len -= clen; } } Loading