From patchwork Mon Apr 30 17:56:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Glendinning X-Patchwork-Id: 155941 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id C699DB6FAF for ; Tue, 1 May 2012 03:57:25 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756533Ab2D3R5P (ORCPT ); Mon, 30 Apr 2012 13:57:15 -0400 Received: from cust23-dsl91-135-1.idnet.net ([91.135.1.23]:49413 "EHLO drevil.shawell.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754078Ab2D3R5O (ORCPT ); Mon, 30 Apr 2012 13:57:14 -0400 Received: from ivana.shawell.net (unknown [10.0.20.130]) by drevil.shawell.net (Postfix) with ESMTP id CEEF867A3A; Mon, 30 Apr 2012 18:57:08 +0100 (BST) From: Steve Glendinning To: netdev@vger.kernel.org Cc: David Miller , Stephane Fillod , Steve Glendinning Subject: [PATCH 4/7] smsc75xx: fix phy init reset loop Date: Mon, 30 Apr 2012 18:56:53 +0100 Message-Id: <1335808616-22513-5-git-send-email-steve.glendinning@shawell.net> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1335808616-22513-1-git-send-email-steve.glendinning@shawell.net> References: <1335808616-22513-1-git-send-email-steve.glendinning@shawell.net> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org fix bug in phy_init loop that was ignoring BMCR reset bit, akin to smsc95xx's d946092000698fd204d82a9d239103c656fb63bf Signed-off-by: Stephane Fillod Signed-off-by: Steve Glendinning --- drivers/net/usb/smsc75xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c index 1de7785..cc23a58 100644 --- a/drivers/net/usb/smsc75xx.c +++ b/drivers/net/usb/smsc75xx.c @@ -661,7 +661,7 @@ static int smsc75xx_phy_initialize(struct usbnet *dev) bmcr = smsc75xx_mdio_read(dev->net, dev->mii.phy_id, MII_BMCR); check_warn_return(bmcr, "Error reading MII_BMCR"); timeout++; - } while ((bmcr & MII_BMCR) && (timeout < 100)); + } while ((bmcr & BMCR_RESET) && (timeout < 100)); if (timeout >= 100) { netdev_warn(dev->net, "timeout on PHY Reset");