public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Jean Delvare <jdelvare@suse•de>
To: Eric Dumazet <eric.dumazet@gmail•com>
Cc: Steffen Klassert <klassert@mathematik•tu-chemnitz.de>,
	Jay Vosburgh <fubar@us•ibm.com>,
	netdev@vger•kernel.org
Subject: Re: bonding with 3c59x driver
Date: Tue, 14 Feb 2012 13:50:57 +0100	[thread overview]
Message-ID: <201202141350.57657.jdelvare@suse.de> (raw)
In-Reply-To: <1329218017.2336.5.camel@edumazet-HP-Compaq-6005-Pro-SFF-PC>

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 :
> > On Tue, Feb 14, 2012 at 11:22:10AM +0100, Jean Delvare wrote:
> > > 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.

> 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 <jdelvare@suse•de>

-- 
Jean Delvare
Suse L3

  reply	other threads:[~2012-02-14 12:50 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-13 21:53 bonding with 3c59x driver Jean Delvare
2012-02-13 22:13 ` Jay Vosburgh
2012-02-14 10:22   ` Jean Delvare
2012-02-14 10:35     ` Steffen Klassert
2012-02-14 10:44     ` David Laight
2012-02-14 11:06     ` Steffen Klassert
2012-02-14 11:13       ` Eric Dumazet
2012-02-14 12:50         ` Jean Delvare [this message]
2012-02-14 13:34           ` Steffen Klassert
2012-02-14 19:43             ` David Miller
2012-02-14 20:27               ` [PATCH] 3c59x: shorten timer period for slave devices Eric Dumazet
2012-02-14 20:51                 ` Dan Williams
2012-02-14 21:02                   ` Eric Dumazet
2012-02-14 21:28                     ` David Miller
2012-02-14 18:27         ` bonding with 3c59x driver Rick Jones
2012-02-14 19:27           ` Jean Delvare
2012-02-14 21:06             ` Chris Friesen
2012-02-15  9:53               ` Jean Delvare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201202141350.57657.jdelvare@suse.de \
    --to=jdelvare@suse$(echo .)de \
    --cc=eric.dumazet@gmail$(echo .)com \
    --cc=fubar@us$(echo .)ibm.com \
    --cc=klassert@mathematik$(echo .)tu-chemnitz.de \
    --cc=netdev@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox