From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 58ED2C433ED for ; Thu, 15 Apr 2021 23:18:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2F73C61132 for ; Thu, 15 Apr 2021 23:18:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236821AbhDOXSY (ORCPT ); Thu, 15 Apr 2021 19:18:24 -0400 Received: from vps0.lunn.ch ([185.16.172.187]:54468 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234735AbhDOXSX (ORCPT ); Thu, 15 Apr 2021 19:18:23 -0400 Received: from andrew by vps0.lunn.ch with local (Exim 4.94) (envelope-from ) id 1lXBFC-00Gycy-IW; Fri, 16 Apr 2021 01:17:54 +0200 Date: Fri, 16 Apr 2021 01:17:54 +0200 From: Andrew Lunn To: Thomas Bogendoerfer Cc: "David S. Miller" , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 net-next 01/10] net: korina: Fix MDIO functions Message-ID: References: <20210414230648.76129-1-tsbogend@alpha.franken.de> <20210414230648.76129-2-tsbogend@alpha.franken.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210414230648.76129-2-tsbogend@alpha.franken.de> Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org > +static int korina_mdio_wait(struct korina_private *lp) > +{ > + u32 value; > + > + return readl_poll_timeout_atomic(&lp->eth_regs->miimind, > + value, value & ETH_MII_IND_BSY, > + 1, 1000); > +} > + > +static int korina_mdio_read(struct net_device *dev, int phy, int reg) > { > struct korina_private *lp = netdev_priv(dev); > int ret; > > - mii_id = ((lp->rx_irq == 0x2c ? 1 : 0) << 8); > + if (korina_mdio_wait(lp)) > + return -ETIMEDOUT; > > - writel(0, &lp->eth_regs->miimcfg); > - writel(0, &lp->eth_regs->miimcmd); > - writel(mii_id | reg, &lp->eth_regs->miimaddr); > - writel(ETH_MII_CMD_SCN, &lp->eth_regs->miimcmd); > + writel(phy << 8 | reg, &lp->eth_regs->miimaddr); > + writel(1, &lp->eth_regs->miimcmd); > + > + if (korina_mdio_wait(lp)) > + return -ETIMEDOUT; Just return what readl_poll_timeout_atomic() returns. In general, you should not change error codes. > > - ret = (int)(readl(&lp->eth_regs->miimrdd)); > + if (readl(&lp->eth_regs->miimind) & ETH_MII_IND_NV) > + return -1; Please use -ESOMETHING, not -1. Andrew