Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp1000557ybc; Sat, 16 Nov 2019 12:46:56 -0800 (PST) X-Google-Smtp-Source: APXvYqyEYOz27K4C6apKjNA6cdmvz2xjV6JxBwP5mcU+lkTv9Hjbg8ShwfO6l+aXkZOk6XJSqlrf X-Received: by 2002:a17:906:7f8a:: with SMTP id f10mr13071533ejr.209.1573937216860; Sat, 16 Nov 2019 12:46:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573937216; cv=none; d=google.com; s=arc-20160816; b=zra/V/VVaeL1IivE7/VmcBK1l7ajypmDWI9EjH4jIpQfaSmFf1URAD2aFR330j3SJn YdbuSMSwr9t0J2FBcgBqsQ8LRwhEwNNG2/mEJVizuuGap+ndeOOnFzkTlacXo0BqYJJi F/+1hZkKelBxdIu4gF2xG6paqIOXd46NlY8BNuOlvkDyS60q2KDOmADfz/1NWuFvpbWh i8ON6aSV+bFT5lzw2E/AvI1b6F2JIew9xDcfZ9Vp4hl7/2CV216A09RbFTsc+a7LrUuO 8G1o5zQz4ixFyY/reERRbQyvI5zAzB3UVdvjG8C0vtllt/RUavMn/RxjXvZvSlB9vBdn 6cAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:from:subject:cc:to:message-id:date; bh=RhgOfjM4xAp8q26hnKj+c5x42E5RbuYJD1zWRRoOUXs=; b=Te9ykmUvPIG8exI9iknsco6OGrZbGzYgweGuQwccGfhNSFrG7mvy3shz6nhGuKPS/V ogOvLVkn0RNMstbhCgNvJ/oBf2JekCqV4+eNCnUEJOR0C4vK1RSF9YNh+7W/YAP8oiye UlOGXESxwYIVlg7YgC/RUs+fVJH2NOw1lrCCs5YKmseeqANLRJ8iPr9qic2EfrGrcPfw 5cXb/NVkyRUc/lgROBXGReTk0ouevp9fN5rmMc11nmbnDuu+iHg9bY4urU1cjhqA7PsK w/b8BTFUHxah69LBE1oiAVMiezQw4b0JZHHSNzTYmk0ZHWl6PeQZa8jYsNGaMRxUXwSn WsuQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q40si10311429eda.218.2019.11.16.12.46.31; Sat, 16 Nov 2019 12:46:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727589AbfKPUmf (ORCPT + 99 others); Sat, 16 Nov 2019 15:42:35 -0500 Received: from shards.monkeyblade.net ([23.128.96.9]:53512 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727195AbfKPUme (ORCPT ); Sat, 16 Nov 2019 15:42:34 -0500 Received: from localhost (unknown [IPv6:2601:601:9f00:1e2::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id EB7EA1517B3D0; Sat, 16 Nov 2019 12:42:33 -0800 (PST) Date: Sat, 16 Nov 2019 12:42:33 -0800 (PST) Message-Id: <20191116.124233.2034551092704813586.davem@davemloft.net> To: ivan.khoronzhuk@linaro.org Cc: netdev@vger.kernel.org, vinicius.gomes@intel.com, jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, linux-kernel@vger.kernel.org Subject: Re: [net-next PATCH] taprio: don't reject same mqprio settings From: David Miller In-Reply-To: <20191115015607.11291-1-ivan.khoronzhuk@linaro.org> References: <20191115015607.11291-1-ivan.khoronzhuk@linaro.org> X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Sat, 16 Nov 2019 12:42:34 -0800 (PST) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ivan Khoronzhuk Date: Fri, 15 Nov 2019 03:56:07 +0200 > @@ -1347,6 +1347,26 @@ static int taprio_parse_clockid(struct Qdisc *sch, struct nlattr **tb, > return err; > } > > +static int taprio_mqprio_cmp(struct net_device *dev, > + struct tc_mqprio_qopt *mqprio) > +{ ... > static int taprio_change(struct Qdisc *sch, struct nlattr *opt, > struct netlink_ext_ack *extack) > { > @@ -1398,6 +1418,10 @@ static int taprio_change(struct Qdisc *sch, struct nlattr *opt, > admin = rcu_dereference(q->admin_sched); > rcu_read_unlock(); > > + /* no changes - no new mqprio settings */ > + if (mqprio && !taprio_mqprio_cmp(dev, mqprio)) > + mqprio = NULL; > + I like Vinicius's feedback, please make the new helper function have the signature: static int taprio_mqprio_cmp(const struct net_device *dev, const struct tc_mqprio_qopt *mqprio) And make the NULL check in there instead of at the caller. Please also remember to add the Fixes: tag. Thanks.