[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20110927.154935.1119264051234681851.davem@davemloft.net>
Date: Tue, 27 Sep 2011 15:49:35 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: nhorman@...driver.com
Cc: netdev@...r.kernel.org, jfeeney@...hat.com
Subject: Re: [RFC PATCH] net: Always fire at least one linkwatch event
From: Neil Horman <nhorman@...driver.com>
Date: Tue, 27 Sep 2011 15:34:13 -0400
> So tg3 actually works properly upstream, but the larger issue remains - Drivers
> individually must set and clear the NOCARRIER flag in order to effectively prime
> the linkwatch state machine, which seems to me haphazard and prone to recurring
> bugs.
Driver controls when the PHY is reset, auto-negotiation is started, etc. so it is
the only entity which is in the position to set the correct state.
So we kind of depend upon drivers managing the state correctly and accurately.
If I follow what tg3 is currently doing, just to show an example, it first
sets carrier off then resets then entire chip atomically. This reset will
restart auto-neg, etc. and trigger a subsequent link-up event which will
netif_carrier_on() and get the proper transition.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists