Hi,
        This patch adds support to the GMIIPHY and GMIIREG ioctls to the 2.4
version of the 8139cp ethernet driver.
        This is required so we don't break apps (eg mii-diag, mii-tools) who
rely on these ioctls to get the NIC's settings.
        Patch against 2.4.20-pre7.
        Please consider pulling it from:
http://cscience.org/~felipewd/linux/patches-fwd/2.4/8139cp-gmii.patch
Felipe
--- ./8139cp.c.orig	Fri Sep 20 00:20:19 2002
+++ ./8139cp.c	Fri Sep 20 00:29:01 2002
@@ -1641,14 +1641,29 @@
 static int cp_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
 {
         struct cp_private *cp = dev->priv;
+	struct mii_ioctl_data *mii;
         int rc = 0;
 
+	mii = (struct mii_ioctl_data *) &rq->ifr_data;
         if (!netif_running(dev))
                 return -EINVAL;
 
+	if (cmd != SIOCETHTOOL) 
+		mii->reg_num &= 0x1f;
+	
         switch (cmd) {
         case SIOCETHTOOL:
                 return cp_ethtool_ioctl(cp, (void *) rq->ifr_data);
+		
+ 	case SIOCGMIIPHY:	/* Get the address of the PHY in use. */
+	case SIOCDEVPRIVATE:	/* binary compat, remove in 2.5 */
+		mii->phy_id = CP_INTERNAL_PHY;
+		/* Fall Through */
+
+	case SIOCGMIIREG:	/* Read the specified MII register. */
+	case SIOCDEVPRIVATE+1:	/* binary compat, remove in 2.5 */
+		mii->val_out = mdio_read (dev, CP_INTERNAL_PHY, mii->reg_num);
+		break;
 
         default:
                 rc = -EOPNOTSUPP;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Sep 23 2002 - 22:00:29 EST