Thread (4 messages) flat view 4 messages, 3 authors, 2013-08-03

Re: [PATCH v3] sis900: Fix the tx queue timeout issue

From: David Miller <davem@davemloft.net>
Date: 2013-08-02 22:04:01

From: Ben Hutchings <redacted>
Date: Fri, 2 Aug 2013 21:18:55 +0200
This looks reasonable.  It looks like link changes now work like this:

1. When sis900_timer() detects link-down, it calls netif_carrier_off()
but does not clear autong_complete.
2. When sis900_timer() detects link-up, it calls sis900_check_mode()
which restarts autonegotiation and clears autong_complete.
3. sis900_timer() will now call sis900_read_mode().  When that detects
link-up, it sets autong_complete and calls netif_carrier_on().

This patch has moved the call to netif_carrier_on() from step 2 to step
3.  However, I don't understand why autonegotiation is restarted in step
2.  When autonegotiation is enabled, the PHY should not indicate link-up
until it has completed.  Perhaps this is a necessary workaround for a
hardware bug.  Otherwise it's a waste of time.
Agreed, if the PHY was configured to use autonegotiation, getting a link
up event afterwards implies that autonegotiation is complete.

In any event, I'm going to apply this patch anyways because it is far and
above a significant move forward.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help