Received: by 2002:ac0:a679:0:0:0:0:0 with SMTP id p54csp551296imp; Thu, 21 Feb 2019 06:41:57 -0800 (PST) X-Google-Smtp-Source: AHgI3IYBKD7VmhKRb+FWrimHl+Mij6T4CyJfrFK0gIeKilGlJbLylofiOCDkISB80ljl0dzn/3qu X-Received: by 2002:a65:51c3:: with SMTP id i3mr21127226pgq.45.1550760117292; Thu, 21 Feb 2019 06:41:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550760117; cv=none; d=google.com; s=arc-20160816; b=hzisLa3GQWHEVIQk4E9XcuTbrK5icDe6pua429CQQB7DC7u1KUxGqPHDbDSeAZgr7E O+0lbif/8IfzgjTVhvIfgqAzSOhwYq4DtBc2k5fJ5wpziqqQ16sBUTU6gigNgHLLn7bV GfE74zznJ+7LA1fQH3iFCCQmCLNKmNBT51o+ahqMpduED4Roj+aeyP1owfRlTmoKNusm G7EAR2fFl5UPP+EdlbCyEtIPtckvu7xqX0CDx/JOm2knm74ZDBb1Q7xRVjls+az7//vF TKZZuwmscgfZeinM61aFkwTHJTXFar7HQQPxGyiTkvchtiuR1zdkQucdxZiG1Ch6VO8M Ln3Q== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=x2iBmQrxTLyL2in52CgddwCTkkv+0+kL/DhX5CpiRr0=; b=tXQy4nnXK1GGVl+En1F1HBXMWDG1XOiEZ8Y2HoHiFliOPwPvwBiwmfh0iDt4/yz+41 pejlG3WEHgiGYOaOhmzjDQrPc5uUngacW6Ji/4EI3ZujRtkbXLNqUftr4HUNeWZPQMMe mXw9q/1nQ4qCGNmg63OzDoHAWMjlqMey5yF8BJSH5C8J4MBRsz9+IPUcMXHO9/bbFOsH luwMag7tRG03i98hSPUxwErT46fCRlG0w/FQK2C5r9/UY+z//lORsLJD0CYpurs41ci9 SbraEYqbzrFGxDavyuWk/KAPdr9690SdEA37TW/TnjEXQmZfPLhveRP+eck5qjjYJsw4 jrAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uI4XjoRK; 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 c136si21405990pfc.141.2019.02.21.06.41.42; Thu, 21 Feb 2019 06:41:57 -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; dkim=pass header.i=@kernel.org header.s=default header.b=uI4XjoRK; 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 S1729151AbfBUOke (ORCPT + 99 others); Thu, 21 Feb 2019 09:40:34 -0500 Received: from mail.kernel.org ([198.145.29.99]:35118 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728142AbfBUOkd (ORCPT ); Thu, 21 Feb 2019 09:40:33 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 22A7220838; Thu, 21 Feb 2019 14:40:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550760032; bh=qsKlXcCJJr5JX/T9XjfElrXQH3WL83pY++lNCIsE4E0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uI4XjoRKTzOHKOQ0ji9unEs3l72DPP9HYmZEgNoZjviVGpvKzg6guQQ/2Xh3tCUjY x4fI1Gru2aTl74rfbEcyPB3Nvw+K1SNgFrWUngjtHvdIXtWZ/wKt/nnErcJAMOF49Z 1ExEYVLuCNumuhQ7cFIe4JE62BE8flhMeWUNVbQY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Petr Machata , Jiri Pirko , Ido Schimmel , "David S. Miller" Subject: [PATCH 4.14 07/23] mlxsw: __mlxsw_sp_port_headroom_set(): Fix a use of local variable Date: Thu, 21 Feb 2019 15:35:49 +0100 Message-Id: <20190221125246.839130601@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190221125246.162644302@linuxfoundation.org> References: <20190221125246.162644302@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Petr Machata [ Upstream commit 289460404f6947ef1c38e67d680be9a84161250b ] The function-local variable "delay" enters the loop interpreted as delay in bits. However, inside the loop it gets overwritten by the result of mlxsw_sp_pg_buf_delay_get(), and thus leaves the loop as quantity in cells. Thus on second and further loop iterations, the headroom for a given priority is configured with a wrong size. Fix by introducing a loop-local variable, delay_cells. Rename thres to thres_cells for consistency. Fixes: f417f04da589 ("mlxsw: spectrum: Refactor port buffer configuration") Signed-off-by: Petr Machata Acked-by: Jiri Pirko Signed-off-by: Ido Schimmel Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -1161,8 +1161,9 @@ int __mlxsw_sp_port_headroom_set(struct for (i = 0; i < IEEE_8021QAZ_MAX_TCS; i++) { bool configure = false; bool pfc = false; + u16 thres_cells; + u16 delay_cells; bool lossy; - u16 thres; for (j = 0; j < IEEE_8021QAZ_MAX_TCS; j++) { if (prio_tc[j] == i) { @@ -1176,10 +1177,11 @@ int __mlxsw_sp_port_headroom_set(struct continue; lossy = !(pfc || pause_en); - thres = mlxsw_sp_pg_buf_threshold_get(mlxsw_sp, mtu); - delay = mlxsw_sp_pg_buf_delay_get(mlxsw_sp, mtu, delay, pfc, - pause_en); - mlxsw_sp_pg_buf_pack(pbmc_pl, i, thres + delay, thres, lossy); + thres_cells = mlxsw_sp_pg_buf_threshold_get(mlxsw_sp, mtu); + delay_cells = mlxsw_sp_pg_buf_delay_get(mlxsw_sp, mtu, delay, + pfc, pause_en); + mlxsw_sp_pg_buf_pack(pbmc_pl, i, thres_cells + delay_cells, + thres_cells, lossy); } return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(pbmc), pbmc_pl);