OSDN Git Service

r8169: fix network stalls due to missing bit TXCFG_AUTO_FIFO
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 28 Sep 2018 21:51:54 +0000 (23:51 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Oct 2018 06:28:21 +0000 (23:28 -0700)
commitad5f97faff4231e72b96bd96adbe1b6e977a9b86
tree9916943fd27d657b80ad6d21f13987f293ceb8db
parent2547496eb18c60f2be9663f71913dfbf703dcbe1
r8169: fix network stalls due to missing bit TXCFG_AUTO_FIFO

Some of the chip-specific hw_start functions set bit TXCFG_AUTO_FIFO
in register TxConfig. The original patch changed the order of some
calls resulting in these changes being overwritten by
rtl_set_tx_config_registers() in rtl_hw_start(). This eventually
resulted in network stalls especially under high load.

Analyzing the chip-specific hw_start functions all chip version from
34, with the exception of version 39, need this bit set.
This patch moves setting this bit to rtl_set_tx_config_registers().

Fixes: 4fd48c4ac0a0 ("r8169: move common initializations to tp->hw_start")
Reported-by: Ortwin Glück <odi@odi.ch>
Reported-by: David Arendt <admin@prnet.org>
Root-caused-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>
Tested-by: Tony Atkinson <tatkinson@linux.com>
Tested-by: David Arendt <admin@prnet.org>
Tested-by: Ortwin Glück <odi@odi.ch>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169.c