Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: "James E.J. Bottomley" <JBottomley@xxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Mike Christie <michaelc@xxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxx> Cc: Karen Xie <kxie@xxxxxxxxxxx> Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx --- drivers/scsi/cxgbi/libcxgbi.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c index 77ac217..0debb06 100644 --- a/drivers/scsi/cxgbi/libcxgbi.c +++ b/drivers/scsi/cxgbi/libcxgbi.c @@ -1812,7 +1812,7 @@ static int sgl_read_to_frags(struct scatterlist *sg, unsigned int sgoffset, } copy = min(datalen, sglen); - if (i && page == frags[i - 1].page && + if (i && page == skb_frag_page(&frags[i - 1]) && sgoffset + sg->offset == frags[i - 1].page_offset + frags[i - 1].size) { frags[i - 1].size += copy; @@ -1948,7 +1948,7 @@ int cxgbi_conn_init_pdu(struct iscsi_task *task, unsigned int offset, /* data fits in the skb's headroom */ for (i = 0; i < tdata->nr_frags; i++, frag++) { - char *src = kmap_atomic(frag->page, + char *src = kmap_atomic(skb_frag_page(frag), KM_SOFTIRQ0); memcpy(dst, src+frag->page_offset, frag->size); @@ -1963,7 +1963,7 @@ int cxgbi_conn_init_pdu(struct iscsi_task *task, unsigned int offset, } else { /* data fit into frag_list */ for (i = 0; i < tdata->nr_frags; i++) - get_page(tdata->frags[i].page); + __skb_frag_ref(&tdata->frags[i]); memcpy(skb_shinfo(skb)->frags, tdata->frags, sizeof(skb_frag_t) * tdata->nr_frags); -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html