From: Zhao, Gang Date: Wed, 5 Feb 2014 16:10:34 +0000 (+0800) Subject: staging: et131x: stop read when hit max delay in et131x_phy_mii_read X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a863a15bf24ae025ec8c3d6b23600fd6cdd94edf;p=openwrt%2Fstaging%2Fblogic.git staging: et131x: stop read when hit max delay in et131x_phy_mii_read stop read and return error when hit max delay time. Signed-off-by: Zhao, Gang Acked-by: Mark Einon Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/et131x/et131x.c b/drivers/staging/et131x/et131x.c index e516bb69f3b4..cf970495efc9 100644 --- a/drivers/staging/et131x/et131x.c +++ b/drivers/staging/et131x/et131x.c @@ -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);