All,

I've converted hme to the common MII framework (and hence to Brussels).  
This fixes at least one bug (it didn't work at forced 10 Mbps!), and 
cleans up a *a lot* of code.  hme shrinks by about 2200 lines.

The webrev is here:

http://cr.opensolaris.org/~gdamore/hme-mii

I'd like to hear from folks who can review, or help test it.

Other minor changes in the code: the never-give-up mode is disabled now, 
since that could potentially result in a deadlock.  By disabling that 
mode (and allowing the MAC to drop packets), we simply the code.  As a 
result, I also felt good about deleting the tx watchdog timer, which was 
tied together with the link check timer.  (I don't think anyone has seen 
this kind of TX hang in a very long time -- note that it would have 
taken 90 seconds to detect the hang, which is far too long for a 
production device anyway.  If someone decides we need it, I'll add a tx 
watchdog timer with ddi_periodic, but at the moment I don't think they 
are needed.

Also, we don't use mif polling.  The common MII layer polls about once a 
second, and that is plenty fast enough for detecting a loss of link.  
This also simplifies some code.

The pace_count tunable was not used, so I've removed it.

I cleaned up some unused messages as well.

I've tested all link modes using a Dell PowerConnect 24 switch with a 
PCI QFE card (Lucent LU6612 phys).  It all seems to work well now.

I'm hoping I can get this into the next build.

Thanks!

    -- Garrett

Reply via email to