• Linus Torvalds's avatar
    Revert "skge: fix ram buffer size calculation" · 279e1dab
    Linus Torvalds authored
    This reverts commit 7fb7ac24.
    
    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: default avatarHeikki Orsila <shdl@zakalwe.fi>
    Cc: Stephen Hemminger <shemminger@linux-foundation.org>
    Cc: Jeff Garzik <jeff@garzik.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    279e1dab
skge.c 107 KB