kernel: fix OCF for linux 3.2

Add skb_frag_page from 3.2 to OCF for 3.1 and earlier and use it.

SVN-Revision: 29818
This commit is contained in:
Jonas Gorski
2012-01-19 19:51:54 +00:00
parent 9fd3886365
commit aa8f9171f2
9 changed files with 20 additions and 11 deletions

View File

@@ -156,7 +156,7 @@ skb_copy_bits_back(struct sk_buff *skb, int offset, caddr_t cp, int len)
offset -= skb_headlen(skb);
for (i = 0; len > 0 && i < skb_shinfo(skb)->nr_frags; i++) {
if (offset < skb_shinfo(skb)->frags[i].size) {
memcpy(page_address(skb_shinfo(skb)->frags[i].page) +
memcpy(page_address(skb_frag_page(&skb_shinfo(skb)->frags[i])) +
skb_shinfo(skb)->frags[i].page_offset,
cp, min_t(int, skb_shinfo(skb)->frags[i].size, len));
len -= skb_shinfo(skb)->frags[i].size;