Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/e1000/e1000_main.c
This commit is contained in:
@@ -2212,10 +2212,10 @@ unsigned int skb_seq_read(unsigned int consumed, const u8 **data,
|
||||
return 0;
|
||||
|
||||
next_skb:
|
||||
block_limit = skb_headlen(st->cur_skb);
|
||||
block_limit = skb_headlen(st->cur_skb) + st->stepped_offset;
|
||||
|
||||
if (abs_offset < block_limit) {
|
||||
*data = st->cur_skb->data + abs_offset;
|
||||
*data = st->cur_skb->data + (abs_offset - st->stepped_offset);
|
||||
return block_limit - abs_offset;
|
||||
}
|
||||
|
||||
@@ -2250,13 +2250,14 @@ next_skb:
|
||||
st->frag_data = NULL;
|
||||
}
|
||||
|
||||
if (st->cur_skb->next) {
|
||||
st->cur_skb = st->cur_skb->next;
|
||||
if (st->root_skb == st->cur_skb &&
|
||||
skb_shinfo(st->root_skb)->frag_list) {
|
||||
st->cur_skb = skb_shinfo(st->root_skb)->frag_list;
|
||||
st->frag_idx = 0;
|
||||
goto next_skb;
|
||||
} else if (st->root_skb == st->cur_skb &&
|
||||
skb_shinfo(st->root_skb)->frag_list) {
|
||||
st->cur_skb = skb_shinfo(st->root_skb)->frag_list;
|
||||
} else if (st->cur_skb->next) {
|
||||
st->cur_skb = st->cur_skb->next;
|
||||
st->frag_idx = 0;
|
||||
goto next_skb;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user