ucc_geth: Do not bring the whole IF down when TX failure.
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>
Fri, 12 Nov 2010 03:55:08 +0000 (03:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Nov 2010 20:21:17 +0000 (12:21 -0800)
commit2040bd57b5f0c52dc4503e0e960b1dcafaf30a8b
tree3c1f30cc90180320af9dc476bc16fb6abe07ce77
parent1f18b7176e2e41fada24584ce3c80e9abfaca52b
ucc_geth: Do not bring the whole IF down when TX failure.

ucc_geth_close lacks a cancel_work_sync(&ugeth->timeout_work)
to stop any outstanding processing of TX fail. However, one
can not call cancel_work_sync without fixing the timeout function
otherwise it will deadlock. This patch brings ucc_geth in line with
gianfar:

Don't bring the interface down and up, just reinit controller HW
and PHY.

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Reviewed-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ucc_geth.c