[PATCH] ibm_emac: fix graceful stop timeout handling
authorEugene Surovegin <ebs@ebshome.net>
Thu, 24 Nov 2005 22:48:40 +0000 (14:48 -0800)
committerJeff Garzik <jgarzik@pobox.com>
Thu, 1 Dec 2005 07:23:35 +0000 (02:23 -0500)
commit8169bd919146f468942f40c3e708f9ada74a30a4
tree44123c0d02b164bac1da83d93661ad3727c4712f
parentbe0df20cb5ffd36ced9393d004e473d5c531b5da
[PATCH] ibm_emac: fix graceful stop timeout handling

This patch fixes graceful stop timeout handling in PPC4xx EMAC driver.

Currently, when we stop TX/RX channels we just do some number of loops
without relying on actual spent time. This has finally bitten me on
one of our systems (heavy network traffic during start up, RX channel
is stopped several times to configure multicast list).

Graceful channel stop can take up to 1 frame time, so I've added
device specific timeout counter which depends on current link speed
and calls to udelay() to really wait required amount of time before
giving up.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/ibm_emac/ibm_emac_core.c
drivers/net/ibm_emac/ibm_emac_core.h