summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/realtek
diff options
context:
space:
mode:
authorstephen hemminger2013-05-20 08:54:43 +0200
committerDavid S. Miller2013-05-20 23:02:35 +0200
commit98962baad72fd6d393bf39dbb7c2076532c363c6 (patch)
tree461cfc5263a1c5f201e2785bdee4261ac658c9f7 /drivers/net/ethernet/realtek
parentdrivers: net: usb: rtl8150: concurrent URB bugfix (diff)
downloadkernel-qcow2-linux-98962baad72fd6d393bf39dbb7c2076532c363c6.tar.gz
kernel-qcow2-linux-98962baad72fd6d393bf39dbb7c2076532c363c6.tar.xz
kernel-qcow2-linux-98962baad72fd6d393bf39dbb7c2076532c363c6.zip
8139cp: reset BQL when ring tx ring cleared
This patch cures transmit timeout's with DHCP observed while running under KVM. When the transmit ring is cleaned out, the Byte Queue Limit values need to be reset. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/realtek')
-rw-r--r--drivers/net/ethernet/realtek/8139cp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
index 7d1fb9ad1296..03523459c406 100644
--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -1136,6 +1136,7 @@ static void cp_clean_rings (struct cp_private *cp)
cp->dev->stats.tx_dropped++;
}
}
+ netdev_reset_queue(cp->dev);
memset(cp->rx_ring, 0, sizeof(struct cp_desc) * CP_RX_RING_SIZE);
memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE);