staging: et131x: stop read when hit max delay in et131x_phy_mii_read
authorZhao, Gang <gamerh2o@gmail.com>
Wed, 5 Feb 2014 16:10:34 +0000 (00:10 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Feb 2014 18:38:41 +0000 (10:38 -0800)
stop read and return error when hit max delay time.

Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
Acked-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/et131x/et131x.c

index e516bb69f3b450a48cbf60360b966126f58d5533..cf970495efc9c02d87e2d8b058a9b962f20474b9 100644 (file)
@@ -1388,6 +1388,7 @@ static int et131x_phy_mii_read(struct et131x_adapter *adapter, u8 addr,
                            mii_indicator);
 
                status = -EIO;
+               goto out;
        }
 
        /* If we hit here we were able to read the register and we need to
@@ -1395,6 +1396,7 @@ static int et131x_phy_mii_read(struct et131x_adapter *adapter, u8 addr,
         */
        *value = readl(&mac->mii_mgmt_stat) & ET_MAC_MIIMGMT_STAT_PHYCRTL_MASK;
 
+out:
        /* Stop the read operation */
        writel(0, &mac->mii_mgmt_cmd);