diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 02cc064c2c8b8319836a7f443c6f0ff75867fb79..3d19d00e8eecf1c1af4110b3fd1e1bf6e8327d8b 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -722,6 +722,9 @@ static void smc911x_phy_detect(struct net_device *dev)
 						break;
 					}
 				}
+				if (phyaddr < 32)
+					/* Found an external PHY */
+					break;
 			}
 		default:
 			/* Internal media only */