Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1069351ybz; Fri, 1 May 2020 13:54:21 -0700 (PDT) X-Google-Smtp-Source: APiQypIrPHeqig2TlUCzOX0ye2vlHrAyDgjwVPxPPCl2MnRMNBMHGE4qrUi4elPrB8II/jnyt/pf X-Received: by 2002:aa7:c492:: with SMTP id m18mr5154605edq.346.1588366461746; Fri, 01 May 2020 13:54:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588366461; cv=none; d=google.com; s=arc-20160816; b=jodrzvHRs3jmkK8g3xrI9d1pnmtY6Z2x3vgoduue+aCFw/e78pAg/YuoIE57SI/okq ArRpFPuZX7YBFiPTEHWMLXIT7T2cPKkBFhnfg+hAp5ARQ3nID2U90Yobll2+n39Cuwtz hyjpiL7cQ5yCe/JSMj8lxTFbZ24jfDNC1+Ivapdv6x03Fi/9wQMoZ4wD5j23BRalcrfI ix34XqmHhzmlGzTD/JjiVzTURRsALVuqH3oFawbRul7vWmtw3Ri9q+bXnL42oBH8cea6 YXZOh1V4hiSYDkPkKMz2opI7okYi7bR/4e3ZyzCyfgVJBFjOSDdyY2JT+Y0jslisE9jl ToRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=nCbuwKofr+B1QCev2MLQWDziNyT3KiiCCd+XOdpsmPs=; b=qCXC7PA8SgkBiRffSHPYuiMpCZqo6uIJU3+mqiuXLyVWPkiLvK66MUR8qytCEh4MJg R0uf6FlAz6KSQhhP69bYsTjxAgID8u5XkvbsQ5EFgPvbo2Jljab4C/19xbcDV1vNi7kP KzasSFB11SJa07R/U9viBKS9lOyjfxkLey8jORxyhk6M4fziH3YUhD/2La2YR/4JYrK5 u5c7QQx565Rg0X47TasVS1LrTlFEua7Wa339sxw6Yz2tv8zYa4bdf1F5Dk2uEheqbGwB FIxvY0k6zcl11SeSfnS7Z7+0+/WobjKS7h8pP2tUNXR892j/mVJu1kd/3UrmoxVMMLPH 2hYA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i17si2526994ejz.399.2020.05.01.13.53.59; Fri, 01 May 2020 13:54:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727870AbgEAUwP (ORCPT + 99 others); Fri, 1 May 2020 16:52:15 -0400 Received: from mx2.suse.de ([195.135.220.15]:53472 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726384AbgEAUwP (ORCPT ); Fri, 1 May 2020 16:52:15 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 615D0ACB1; Fri, 1 May 2020 20:52:13 +0000 (UTC) Received: by lion.mk-sys.cz (Postfix, from userid 1000) id 307A1602E9; Fri, 1 May 2020 22:52:12 +0200 (CEST) Date: Fri, 1 May 2020 22:52:12 +0200 From: Michal Kubecek To: netdev@vger.kernel.org Cc: Oleksij Rempel , Andrew Lunn , "David S. Miller" , Florian Fainelli , Heiner Kallweit , Jakub Kicinski , Jonathan Corbet , David Jander , kernel@pengutronix.de, linux-kernel@vger.kernel.org, Russell King , mkl@pengutronix.de, Marek Vasut , Christian Herber Subject: Re: [PATCH net-next v4 1/2] ethtool: provide UAPI for PHY master/slave configuration. Message-ID: <20200501205212.GE8976@lion.mk-sys.cz> References: <20200501074633.24421-1-o.rempel@pengutronix.de> <20200501074633.24421-2-o.rempel@pengutronix.de> <20200501155210.GD8976@lion.mk-sys.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200501155210.GD8976@lion.mk-sys.cz> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 01, 2020 at 05:52:10PM +0200, Michal Kubecek wrote: > On Fri, May 01, 2020 at 09:46:32AM +0200, Oleksij Rempel wrote: > [...] > > static int ethnl_update_linkmodes(struct genl_info *info, struct nlattr **tb, > > struct ethtool_link_ksettings *ksettings, > > bool *mod) > > { > > struct ethtool_link_settings *lsettings = &ksettings->base; > > bool req_speed, req_duplex; > > + const struct nlattr *attr; > > int ret; > > > > + attr = tb[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG]; > > + if (attr) { > > Introducing the variable makes little sense if this is the only place > where it is used. But if you decide to use it also in the two other > places working with the attribute, it should probably have more > descriptive name. > > Michal > > > + u8 cfg = nla_get_u8(tb[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG]); > > + if (!ethnl_validate_master_slave_cfg(cfg)) > > + return -EOPNOTSUPP; > > + } Also, please set extack error message and bad attribute when the check fails. Michal > > + > > *mod = false; > > req_speed = tb[ETHTOOL_A_LINKMODES_SPEED]; > > req_duplex = tb[ETHTOOL_A_LINKMODES_DUPLEX]; > > @@ -311,6 +357,8 @@ static int ethnl_update_linkmodes(struct genl_info *info, struct nlattr **tb, > > mod); > > ethnl_update_u8(&lsettings->duplex, tb[ETHTOOL_A_LINKMODES_DUPLEX], > > mod); > > + ethnl_update_u8(&lsettings->master_slave_cfg, > > + tb[ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG], mod); > > > > if (!tb[ETHTOOL_A_LINKMODES_OURS] && lsettings->autoneg && > > (req_speed || req_duplex) && > > -- > > 2.26.2 > >