]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "skge: fix ram buffer size calculation"
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 15 Nov 2007 16:44:36 +0000 (08:44 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 15 Nov 2007 16:44:36 +0000 (08:44 -0800)
commitf1a92bbdd4b46b24f185c9640217fcc470d2862d
tree42632a4ad59c1b40401b4affa84c8a776f7ea21d
parent008de13d7f95fded2ffc23224b7c08ebf6cd154f
Revert "skge: fix ram buffer size calculation"

This reverts commit 4d6985899ce64a39dc641f648c3c88168dd88823.

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