summaryrefslogtreecommitdiff
path: root/drivers/hotplug/ibmphp_core.c
diff options
context:
space:
mode:
authorRoger Luethi <rl@hellgate.ch>2003-02-26 16:49:48 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2003-02-26 16:49:48 -0800
commitbe8013e867207d570f33cc1c66bd06797f1eed6b (patch)
tree8ab4a2428b616b58cd25a7c6f313b2f9deb4cafb /drivers/hotplug/ibmphp_core.c
parenteefe7271754f3b5376ae47d378a8d7184427edfb (diff)
[PATCH] via-rhine: fix races
This patch addresses two distinct races: - Until now, the driver started the chip for Tx regardless of errors pending in the status register. Not good if an error occured while we were queueing packets -- the chip counter had not been reset, so Tx died. (We can't reliably get an interrupt for every error condition) - The Rhine-II (when under load) frequently produces a Tx descriptor write-back race error. Failing to handle this means waiting for the netdev watchdog. Fixed. In addition, we must wait for the Tx engine to turn off on error conditions before we scavenge the descriptor entries. Failing to do so will typically lead to performance going down to about 10%: Burst, timeout, burst, timeout.. (again, with a Rhine-II under load).
Diffstat (limited to 'drivers/hotplug/ibmphp_core.c')
0 files changed, 0 insertions, 0 deletions