qeth: EDDP does not work on large MTUs

Fix filling the qdio buffers in EDDP mode.

Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
这个提交包含在:
Frank Blaschka
2007-10-05 16:45:45 +02:00
提交者 David S. Miller
父节点 bc4b2b497a
当前提交 6570ebc4f5
修改 2 个文件,包含 11 行新增8 行删除

查看文件

@@ -159,13 +159,15 @@ qeth_eddp_fill_buffer(struct qeth_qdio_out_q *queue,
buffer = buf->buffer;
/* fill one skb into buffer */
for (i = 0; i < ctx->elements_per_skb; ++i){
buffer->element[buf->next_element_to_fill].addr =
ctx->elements[element].addr;
buffer->element[buf->next_element_to_fill].length =
ctx->elements[element].length;
buffer->element[buf->next_element_to_fill].flags =
ctx->elements[element].flags;
buf->next_element_to_fill++;
if (ctx->elements[element].length != 0) {
buffer->element[buf->next_element_to_fill].
addr = ctx->elements[element].addr;
buffer->element[buf->next_element_to_fill].
length = ctx->elements[element].length;
buffer->element[buf->next_element_to_fill].
flags = ctx->elements[element].flags;
buf->next_element_to_fill++;
}
element++;
elements--;
}