diff --git a/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c b/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
index d775f16..bde43a5 100644
--- a/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
+++ b/drivers/net/ethernet/atheros/ag71xx/ag71xx_ethtool.c
@@ -14,6 +14,46 @@
 
 #include "ag71xx.h"
 
+#define AR934X_PHY_SPECIFIC_STATUS_REG 0x11
+
+#define AR934X_PORT_STATUS_SPEED_MASK 0xc000
+#define AR934X_PORT_STATUS_SPEED_10  (0 << 14)
+#define AR934X_PORT_STATUS_SPEED_100 (1 << 14)
+#define AR934X_PORT_STATUS_DUPLEX    (1 << 13)
+
+static int ag71xx_ethtool_get_settings_switchport(struct net_device *dev,
+				       struct ethtool_cmd *cmd)
+{
+	struct ag71xx *ag = netdev_priv(dev);
+	struct platform_device *pdev = ag->pdev;
+	struct net_device *netdev = ag->dev;
+	uint16_t status;
+
+	status = ag->mii_bus->read(ag->mii_bus, netdev->dev_id,
+			AR934X_PHY_SPECIFIC_STATUS_REG);
+	if (status == 0xffff)
+		return -ENODEV;
+
+	switch (status & AR934X_PORT_STATUS_SPEED_MASK) {
+	case AR934X_PORT_STATUS_SPEED_10:
+		ethtool_cmd_speed_set(cmd, 10);
+		break;
+	case AR934X_PORT_STATUS_SPEED_100:
+		ethtool_cmd_speed_set(cmd, 100);
+		break;
+	default:
+		ethtool_cmd_speed_set(cmd, 0);
+		break;
+	}
+
+	cmd->duplex = !!(status & AR934X_PORT_STATUS_DUPLEX);
+	cmd->port = PORT_MII;
+	cmd->transceiver = XCVR_EXTERNAL;
+	cmd->autoneg = 1;
+
+	return 0;
+}
+
 static int ag71xx_ethtool_get_settings(struct net_device *dev,
 				       struct ethtool_cmd *cmd)
 {
@@ -21,7 +61,7 @@
 	struct phy_device *phydev = ag->phy_dev;
 
 	if (!phydev)
-		return -ENODEV;
+		return ag71xx_ethtool_get_settings_switchport(dev, cmd);
 
 	return phy_ethtool_gset(phydev, cmd);
 }
