On Sun, 2011-04-17 at 02:30 +0200, Artur R. Czechowski wrote:
> On Sun, Apr 17, 2011 at 01:09:51AM +0100, Ben Hutchings wrote:
> > Try turning off TSO (ethtool -K eth0 tso off).
> Oops, I forgot to add to my report that I already tried it with following
> result:
> inst:~# ethtool -K eth0 tso off
> Cannot set device tcp segmentation offload settings: Operation not supported

OK.

Your test program is broken; this function is missing a return
statement:

int waitForConnection(int fd) {
    int cfd;
    struct sockaddr_in addr;
    socklen_t addrlen;
    addrlen = sizeof(addr);

    ioCheck(cfd = accept(fd, (struct sockaddr *)&addr, &addrlen));
}

It might be that the variable 'cfd' ends up in the return value anyway.
But you should fix this (and use compiler options -Wall and -Wextra).

The extra data at the start of 'apache.dat' and 'sendfile.dat' looks
like the packet headers, so for some reason they have been duplicated.
Please can you test the attached patch, following the instructions at
<http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official>?

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
From: Jie Yang <jie.y...@atheros.com>
Date: Tue, 27 Oct 2009 22:31:19 -0700
Subject: [PATCH] atl1c: duplicate atl1c_get_tpd

commit 678b77e265f6d66f1e68f3d095841c44ba5ab112 upstream.

remove duplicate atl1c_get_tpd, it may cause hardware to send wrong packets.

Signed-off-by: Jie Yang <jie.y...@atheros.com>
Signed-off-by: David S. Miller <da...@davemloft.net>
---
 drivers/net/atl1c/atl1c_main.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/drivers/net/atl1c/atl1c_main.c b/drivers/net/atl1c/atl1c_main.c
index 1372e9a..3b8801a 100644
--- a/drivers/net/atl1c/atl1c_main.c
+++ b/drivers/net/atl1c/atl1c_main.c
@@ -1981,8 +1981,6 @@ static void atl1c_tx_map(struct atl1c_adapter *adapter,
 		else {
 			use_tpd = atl1c_get_tpd(adapter, type);
 			memcpy(use_tpd, tpd, sizeof(struct atl1c_tpd_desc));
-			use_tpd = atl1c_get_tpd(adapter, type);
-			memcpy(use_tpd, tpd, sizeof(struct atl1c_tpd_desc));
 		}
 		buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
 		buffer_info->length = buf_len - mapped_len;
-- 
1.7.4.4

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to