Re: bonding with 3c59x driver
From: Jean Delvare <hidden>
Date: 2012-02-14 12:50:59
Hi Eric, Steffen, On Tuesday 14 February 2012 12:13:37 pm Eric Dumazet wrote:
Le mardi 14 février 2012 à 12:06 +0100, Steffen Klassert a écrit :quoted
On Tue, Feb 14, 2012 at 11:22:10AM +0100, Jean Delvare wrote:quoted
Well I am still curious why the 3c59x driver has such slow polling when other drivers I have been testing are able to report almost instantly when I remove a network cable. Could it be that other network chips generate an interrupt on cable removal and the 3com chips do not?Yes, at least some of the supported chips do not generate an interrupt on cable removal, so we have to check for this with a timer.
Too bad. I confirm I can't see the interrupt count increase when I remove the network cable from my 3C905C (nor when I plug it back in), but I was hopping this was a matter of enabling this event as an interrupt source in the driver. If the hardware just can't do it then this is hopeless. Back in the days I used to consider the 3C905 as the best fast Ethernet cards around, apparently I was horribly wrong. Thanks for explaining anyway.
quoted hunk ↗ jump to hunk
We could have a 5 sec timer in case device is a slave.diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c index 1282f04..e463d10 100644 --- a/drivers/net/ethernet/3com/3c59x.c +++ b/drivers/net/ethernet/3com/3c59x.c@@ -1841,7 +1841,7 @@ vortex_timer(unsigned long data) ok = 1; } - if (!netif_carrier_ok(dev)) + if (dev->flags & IFF_SLAVE || !netif_carrier_ok(dev)) next_tick = 5*HZ; if (vp->medialock)
Yes I think this makes a lot of sense. If you send this upstream you can add: Acked-by: Jean Delvare <redacted> -- Jean Delvare Suse L3