diff -ur linux-2.6.2-1.87/drivers/net/pcnet32.c linux-2.6.2-1.87-tmus/drivers/net/pcnet32.c --- linux-2.6.2-1.87/drivers/net/pcnet32.c 2004-02-19 00:27:36.033478624 +0100 +++ linux-2.6.2-1.87-tmus/drivers/net/pcnet32.c 2004-02-19 00:26:03.733510352 +0100 @@ -22,8 +22,8 @@ *************************************************************************/ #define DRV_NAME "pcnet32" -#define DRV_VERSION "1.27b" -#define DRV_RELDATE "01.10.2002" +#define DRV_VERSION "1.27c" +#define DRV_RELDATE "02.19.2004" #define PFX DRV_NAME ": " static const char *version = @@ -213,6 +213,8 @@ * clean up and using new mii module * v1.27b Sep 30 2002 Kent Yoder * Added timer for cable connection state changes. + * v1.27c Feb 19 2004 Thomas M Steenholdt + * fixed link status on non-mii capable devices. */ @@ -1630,7 +1632,10 @@ /* get link status */ case ETHTOOL_GLINK: { struct ethtool_value edata = {ETHTOOL_GLINK}; - edata.data = mii_link_ok(&lp->mii_if); + /* read link status */ + if(lp->mii) edata.data = mii_link_ok(&lp->mii_if); + /* always return link ok for non-mii devices */ + else edata.data = 1; if (copy_to_user(useraddr, &edata, sizeof(edata))) return -EFAULT; return 0;