> This is my commit message for the revert - note the suggested possible
> fix (but also why I didn't apply it, and why things got reverted).
>
> Linus
> ---
> commit 279e1dab949d33737557babfe9f74e0b74fbe39a
> Author: Linus Torvalds <torvalds@woody.linux-foundation.org>
> Date: Thu Nov 15 08:44:36 2007 -0800
>
> Revert "skge: fix ram buffer size calculation"
>
> This reverts commit 7fb7ac241162dc51ec0f7644d4a97b2855213c32.
>
> Heikki Orsila reports that it causes a regression:
>
> "Doing
>
> nc host port < /dev/zero
>
> on a sending machine (not skge) to an skge machine that is receiving:
>
> nc -l -p port >/dev/null
>
> with ~60 MiB/s speed, causes the interface go malfunct. A slow
> transfer doesn't cause a problem."
>
> See
>
>
http://bugzilla.kernel.org/show_bug.cgi?id=9321
>
> for some more information.
>
> There is a workaround (also reported by Heikki):
>
> "After some fiddling, I noticed that not changing the register write
> order on patch:
>
> + skge_write32(hw, RB_ADDR(q, RB_END), end);
> skge_write32(hw, RB_ADDR(q, RB_WP), start);
> skge_write32(hw, RB_ADDR(q, RB_RP), start);
> - skge_write32(hw, RB_ADDR(q, RB_END), end);
>
> fixes the visible effect.. Possibly not the root cause of the
> problem, but changing the order back fixes networking here."
>
> but that has yet to be ack'ed or tested more widely, so the whole
> problem-causing commit gets reverted until this is resolved properly.
>
> Bisected-and-requested-by: Heikki Orsila <shdl@zakalwe.fi>
> Cc: Stephen Hemminger <shemminger@linux-foundation.org>
> Cc: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>
> drivers/net/skge.c | 51 +++++++++++++++++++++++++++------------------------
> 1 files changed, 27 insertions(+), 24 deletions(-)