From patchwork Wed Mar 4 17:33:24 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Glendinning X-Patchwork-Id: 24045 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.176.167]) by ozlabs.org (Postfix) with ESMTP id B2C2ADE0CD for ; Thu, 5 Mar 2009 04:33:32 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753551AbZCDRd1 (ORCPT ); Wed, 4 Mar 2009 12:33:27 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753514AbZCDRd1 (ORCPT ); Wed, 4 Mar 2009 12:33:27 -0500 Received: from drevil.shawell.net ([86.54.240.115]:37261 "EHLO drevil2.shawell.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751845AbZCDRd0 (ORCPT ); Wed, 4 Mar 2009 12:33:26 -0500 Received: from localhost.localdomain (kensington.shawell.net [10.0.20.15]) by drevil2.shawell.net (Postfix) with ESMTP id 13A5D37778; Wed, 4 Mar 2009 17:33:23 +0000 (GMT) From: Steve Glendinning To: netdev@vger.kernel.org Cc: Roel Kluin , Juha Leppanen , Ian Saturley , David Miller , Steve Glendinning Subject: [PATCH 1/2] smsc911x: check for FFWD success before checking for timeout Date: Wed, 4 Mar 2009 17:33:24 +0000 Message-Id: <1236188005-14065-1-git-send-email-steve.glendinning@smsc.com> X-Mailer: git-send-email 1.6.0.6 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch from Juha Leppanen suppresses a false warning if a fast forward operation succeeds on the very last attempt. Juha> If smsc911x_reg_read loop is executed 500 times, timeout reaches 0 Juha> and the 500th smsc911x_reg_read result in val is ignored. If Juha> testing order is changed, then val is checked first. The 500th Juha> reg_read might be GOOD, why ignore it! Signed-off-by: Steve Glendinning --- drivers/net/smsc911x.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c index dceae8a..9a79510 100644 --- a/drivers/net/smsc911x.c +++ b/drivers/net/smsc911x.c @@ -955,7 +955,7 @@ smsc911x_rx_fastforward(struct smsc911x_data *pdata, unsigned int pktbytes) do { udelay(1); val = smsc911x_reg_read(pdata, RX_DP_CTRL); - } while (--timeout && (val & RX_DP_CTRL_RX_FFWD_)); + } while ((val & RX_DP_CTRL_RX_FFWD_) && --timeout); if (unlikely(timeout == 0)) SMSC_WARNING(HW, "Timed out waiting for "