The original patch didn't set phydev->autoneg_complete in one exit path.
Fix this.
Fixes: 4950c2ba49cc ("net: phy: fix autoneg mismatch case in genphy_read_status")
Reported-by: Simon Horman <horms@verge.net.au>
Tested-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
         */
        if (!phy_polling_mode(phydev)) {
                status = phy_read(phydev, MII_BMSR);
-               if (status < 0) {
+               if (status < 0)
                        return status;
-               } else if (status & BMSR_LSTATUS) {
-                       phydev->link = 1;
-                       return 0;
-               }
+               else if (status & BMSR_LSTATUS)
+                       goto done;
        }
 
        /* Read link and autonegotiation status */
        status = phy_read(phydev, MII_BMSR);
        if (status < 0)
                return status;
-
+done:
        phydev->link = status & BMSR_LSTATUS ? 1 : 0;
        phydev->autoneg_complete = status & BMSR_ANEGCOMPLETE ? 1 : 0;